I honestly don't even know how to begin with this problem.
Given the UML class diagram for class GpaRecord and a serialized file containing GpaRecord objects, produce the following:
1. Write the Java class file for GpaRecord, including overriding the toString method. Output of the toString method should match the output provided with these instructions.
2. Write code to read the provided serialized file using your class file. Use the toString of the GpaRecord class to output the instance variables. Use the FileInputStream and ObjectInputStream classes. HINT: This is most easily done by writing a class file with the processing code needed, then writing a test harness to instantiate the previous class and execute the methods in that class (refer to examples in the text). The processing code must include try, catch, and finally blocks as appropriate. Specific exceptions that must be caught include:
3. For each time an exception is caught, include a message for the user describing the problem. You do not need to attempt to recover from the problem.
4. Once the basic processing requirements have been successfully met, add code to the processing class to do the following (NOTE: You may not use an array for this processing; you may not read the file more than once):
a. Count the number of records in the serialized file
b. Calculate an overall average GPA for all records in the file
c. Print the count of records and the average GPA in the format shown below
5. BONUS QUESTION (5 points): Tell me what all the names in the serialized file have in common.
Sample toString Output
Student ID: 12345678
Class Grouping: 1 and GPA = 1.3578
Sample Output (additional processing)
The number of students is: 26
The average GPA is 3.2145
She sent a UML diagram which looks like:
Student ID: 23652147
Class Grouping: 3 and GPA=3.662000
She also sent a StudentGpa.ser file