You will create four classes that must all interact in some meaningful way. In order to
start you will create a class diagram to determine which classes depend on other
classes and what those classes are. The classes you create will be:
Further, you must create a fifth class called “Main” that creates instances of the
above classes to test and demonstrate the use of the classes. This is often called a
To begin I suggest you look at your four classes and individually decide what each
will contain. Ask yourself what are the attributes and what does this class do. From
here you should be able to get a toe hold to start your development.
Within this project you must use the following:
1. Multiple constructors within one class
2. Internal and external method calls(which will be necessary)
3. An if statement
4. Import statements used correctly
5. Two collections from the java library, one of which may be an ArrayList
7. An Iterator
8. An array
9. Logic operators
10. Mathematical operators
11. String methods (use the java libraries)
12. Random number generator
13. A HashMap in addition to the requirements in 5 above.
14. At least one class constant variable
15. Create a “driver class” called “Main” that demo’s your design and classes.
This must have a program entry point method with the signature:
public static void main( String args)
16. You must create a JUnit test class for ONE of you classes, and write test
methods in this class for TWO of your methods in the class that you are
testing. Thus you will have TWO test methods in your JUnit test class.
17. Your code should be:
a. Well designed
b. Commented and each class should be documented
18. In the read me file include step by step instructions on how to use your
19. In addition to turning in your zipped project file, you must create a PDF
document with several screen shots of your running program that shows at
least the following:
a. Your program in action and what it does
b. Execution of your JUnit test methods
c. Execution of your program directly from the command prompt without
TURN IN your entire project folder, your entire should be properly commented and
formatted, including the identifying information noted in the “general section”. NOTE: You
must write JavaDoc style comments for EACH public CLASS and EACH public METHOD
that you create or modify. Starting with Lab #3, it is required that you run the code
formatter (BlueJ Auto-layout) over ALL of the classes before you Zip and submit your lab.
1) ZIP the entire project folder, DO NOT delete any of the files. You will upload the single
ZIP compressed file. Please ONLY submit Zip formats. Other compression formats
require the grader to spend more time opening various tools to handle other formats, so
only ZIP will be accepted.
2) Also submit as a separate file the PDF created for #19.
3) Submit any required document as a separate file.
4) Log in to Moodle.
5) Click the Lab # link in the week # activity block in the class Moodle site, then browse to
your document and upload the document you created.
6) If you need to submit an updated version, click on the submit link and you will see the file
you previously uploaded, click the edit these files button. On the right of the file name you
will see this icon . Click on the icon, delete your previous submission, and then upload
your updated version.