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

cis73aaa.doc LAB 10: Introduction to Arrays Due 11-23-09

Object Oriented Java Programming I

 

This lab will first give us some experience working with a rectangular two dimension array. Then we will declare and instantiate a single dimension array of Student objects, and allow the user to load partially any number of elements from the keyboard (up to the maximum number). We will then develop syntax to display “only the good ones loaded”, and then sort and display “only the good ones loaded”.

Write a Java application file that will:

 

1. Declare and instantiate a 3 x 4 two dimension array of integers.

 

2. Allow the user to completely “load” each element of the array from the keyboard.

 

3. Display the array as a matrix with the correct number of rows and columns.

 

****************************************************************************************************

 

4. Declare and instantiate an array of Student objects that can hold up to 20 elements.

 

5. Allow the user to load the array from the keyboard with any number of elements up to 20 maximum. Note that you should use a sentinel with syntax discussed in class and in study guide10. Test with at least four elements.

 

6. Call a method to display the contents of each object in the array. Note…only the “good ones”.

 

7. Call a method to sort and display the array of objects based on student number or grade point average in each Student object. The array should be sorted from low to high. Note…only the “good ones”.

 

The following files from the sample list can be used as references:

 

a.       Rectangle class with a Comparable Interface

b.       RectangleUser class

c.       Car class

d.       CarUser class

e.       Partially Loading Arrays

f.         Sorting and Displaying Arrays

 

Note the availability of the sort method in the Arrays class which can be used to sort all or part of an array. (on page 331).

 

Also note that the copy of the “Rectangle Class with a Comparable Interface” on the class web page sample list has the Comparable Interface implemented with the compareTo method for sorting on length. The compareTo method for the Student objects will have to sort on the attribute that you selected in step 7 above.

 

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.