Source: Mr. Sanford, BCC
Site hosted by Angelfire.com: Build your free website today!
cis73BBB

 

cis73bbb.doc Object Oriented Java Programming I Due 11-30-09

LAB 11 - Introduction to Collections

Using Objects of the ArrayList Class

 

Before you start this lab assignment, you should be comfortable with the syntax in the ArrayList Demo and the LinkedList Demo sample files on the class web page as well as the lecture material from chapter 11 and Study Guide B that we discussed in class last week.

 

 

1. Design Your Own Object Class

 

a.       Write the code for your own class. It should have at least 3 instance variables, at least one constructor, setters and getters for each instance variable, and a non static member method to display all of the instance variables.

 

2. Write an application to test your understanding of the use of an ArrayList object using the new class that you designed in step 1 above.

 

 

a. Allow the user to enter as many objects as they like from the keyboard. Test with at least five objects. Use the Validator class static methods for all keyboard input.

 

b. Display each object in the list.

 

c. Test the following methods of the ArrayList class and continue to display the elements of the list after each test with a blank line between each test:

 

add(unique object with a reference name)

set(index, object)

get(index)

add(index, object)

remove(index)

remove(unique object with a reference name )

 

d. Build an array of objects from the ArrayList object. See study guide 11 for suggestions for converting an ArrayList object to an array of objects..

 

e. Sort the array of objects based on one of the attributes in each object. Note that you will have to implement the Comparable interface to sort objects on a particular instance variable.

 

f. Display each object in the array.

 

 

 

Notes:

 

1. Label the end of all classes, methods, and blocks with a comment.

 

2. Line up the beginning brace { and ending brace } vertically for each block. (i.e. for each class, method, and block)

 

3. Indent all code between the beginning and ending braces so that the lineup of braces can be easily observed.

 

4. Include comments at the beginning of every .java source file with the assignment number, author, date due, and an essay (with paragraphs) at the start of the file describing the functionality of each class as well as how each class “works”. User instructions should also be provided. Are there comments reference important or complex syntax?

5. Insert dividers/separators (i.e. a line of dashes or a line of asterisks) between each method and class.

 

6. Capture your test results and paste them into the end of your .java source class file as comments.

 

7. Submit an electronic copy of all of your .java source class files for credit. Note that all submissions should be made as attachments to an email, and sent to the instructor with the following subject line:

 

CIS73 Lab x

where x = the lab assignment number. Note that the subject line is case sensitive. All assignments should be submitted on or before the due date for full credit per the course policies.

8. All data output should have data titles.

9. All primitive data should be formatted on output.

10. Prompts should be used for all data input from the keyboard and data should be entered on the same line as the prompt.

11. All code should be tested and included in the test results output.

12. All objects declared and used in the main( ) should be passed to other private static methods (example …a Scanner object) in lieu of recreating them in the private static methods.

13. No methods (including the main) should be more than one screen full long.

 

14. Note once again that all duplicate .java files that are submitted for a grade will NOT be graded.

 

15. If you are having problems that you and your classmates cannot resolve, you should review the “Suggestions for Success” on my home page and attempt to resolve them in our 2 hours of lab sessions each week. Note that there are 3 class tutors that are available in the lab for a total of 10 hours each week plus they are available by appointment. If all else fails then get back to me via email and make an appointment with me.....We care about the students that care!

 

Note there is no substitution for adequate preparation.