Source: Mr. Sanford, BCC CIS 73 Lab # 12
Site hosted by Angelfire.com: Build your free website today!
cis73AAA

 

cis73ccc.doc Object Oriented Java Programming I Due 12-07-09

 

LAB 12: Introduction to Collections

Using Objects of the LinkedList Class

 

 

1. Write an application to test your understanding of the use of a LinkedList object.

 

a. Create a Linked List object to hold primitive objects of your choice.

 

b. Allow the user to enter as many objects as they like from the keyboard using a sentinel.

 

c. Test by allowing the user to enter at least six objects and use the Validator class static methods for all keyboard input.

 

d. Display each object in the list.

 

d. Test the following methods of the LinkedList class in sequence and continue to display all of the elements inf the list after each test with a blank line between each test:

 

1. addFirst(unique object with a reference name )

2. set(index, object)

3. add(index, object)

4. add(unique object with a reference name)

5. remove(index )

6. remove(unique object with a reference name )

 

e. Sort and display each element in the LinkedLlist object. See the last item in study guide 11 for suggestions for converting a LinkedList object to an array of objects so that the array can be sorted using the Arrays.sort method for sorting. The ArrayList Demo and the LinkedList Demo on the sample list are good references.

 

2. Write another application to test your understanding of a generic queue class.

 

a. Create your own generic queue class, or use the generic queue class in the text, or you can use the MyGenericQueue class which is on the sample list and discussed in class.

 

b. Write and test an application with a main that will allow the user to sufficiently test the push, pull, and size methods of your generic queue class using objects of the Student class which you designed in Lab 8. Test with at least 4 Student objects.

 

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 (note that x = 8,9,10,11,12, or 13)

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.