- The max, min and range methods will return the maximum mark, the minimum mark and the difference between the maximum and minimum marks respectively.
- The mean methods will return the mean of the set of marks. Your textbook contains a description of how these can be calculated.
- The median method will return the median value of the set of marks. The median value is the middle one when the values are placed in order. To obtain an ordered version of the marks you may use an appropriate sort method of the Java API’s Arrays class. Be careful not to destroy the original array of marks. If there is an even number of marks, the middle value is taken as the average of the two values that are nearest to the middle.
- The mode method will return the mode of the set of marks, which is the most commonly occurring mark. To find the mode, use an ordered version of the set of marks, as used for finding the median. If there is more than one value that is most common, any one of the most common values will do for the mode.
- The grades method will return an array of characters, which are the grades corresponding to the integer marks in the array of marks. The grades are to be assigned using the following lower boundaries for the corresponding marks: for grade A, the lower boundary is 85; for grade B, it is 75; for grade C, it is 65; for grade D, it is 50; and E is the grade for all other marks. A best solution for this method would not have the values for the lower boundaries hardcoded but would use an array for these values, which would allow the grade boundaries to be altered.
- The gradeDistn method will accept an array of characters, which are the grades assigned for the array of marks, such as returned by the grades method. ThegradeDistn method will return an array of integer values containing the distribution of grades, which is the number of occurrences of each grade in the assigned grades. The characters used for grades are fixed. The returned array should provide the distribution in order from grade A to grade E.
The following points should be taken into account in the design of your program:
- None of your code should change the contents of the original array of marks.
- You should not make any assumption that client code, that would use your methods, should call them in any particular. That is, you should not assume that a client that calls the range method will have previously called the max and min methods.
- Three fields, x, y and z, of type double, represent the point’s coordinates.
- A no-arg constructor creates a point at position (0, 0, 0).
- Another constructor creates a point with specified coordinates.
- A getter method is provided for each of the fields.
- An accessor method named distance returns the distance between the current point and another point passed as an argument.
- The distance method is overloaded to accept the coordinates of the other point.
- Test the basic state and functionality of the Point3D class. Each of the constructors and each of the methods should be tested using some different data values. The test code should display values so that they can be checked.
- Write some code to create an array of at least 10 Point3D objects.
- Write a method max, which will accept the array of points as an argument, and will calculate and display the maximum distance between the points in the array, and the pair of points for which the maximum occurs.
- Write a method min, which will accept the array of points as an argument, and will calculate and display the minimum distance between the points in the array, and the pair of points for which the minimum occurs.
Material to submit
The material to submit for each task is described in the section Assessment Information in this Subject Outline, under the heading Presentation.