continue from first question,

Client class:
The client program will allow entry of these data for several different student into an ArrayList and 
then perform some analysis and queries.
Your client class (program) will provide the user with a menu to perform the following operations. 
You will also need to load the information of the students from a CSV file (student.csv) before 
displaying the menu. You only need one ArrayList and one menu for this. For the csv file, your first 
item can be U or G to differentiate whether the entry is creating a UndergraduateStudent object, or a 
GraduateStudent object. You can then decide how you want other data to be listed in the csv file. 
You should specify clearly in your documentation the data format of the CSV files used in this 
1. Quit (exit the program)
2. Add (to the ArrayList) all the marks information about an undergraduate or graduate student by 
reading it from another CSV file. Your program will ask for the file name.
3. Given student number (ID), remove the specified student and relevant information from the 
ArrayList. It is always good to ask the user to confirm again before removing the record. For 
confirmation, output the student number (ID) and the name to the user.
4. Output all details currently held in the ArrayList.
5. Determine and display how many undergraduate students obtained an overall mark equal to or 
above the average overall mark and how many obtained an overall mark below the average 
overall mark. Note: You can only perform this task on undergraduate students only.

6. Given a student number (ID), report the grade information (using reportGrade) of the student 
with that number. If the student is not found in the ArrayList, an appropriate error message is 
to be displayed
7. Sort the ArrayList of the student objects into ascending order of the students’ numbers (IDs), 
and output the sorted array - implement an appropriate sorting algorithm for this, and explain 
why such algorithm is selected (in internal and external documentation).
8. Output the sorted ArrayList from (7) to a CSV file. If the ArrayList is not sorted, this option 
cannot be selected. Remember to include the identification of whether the student is 
undergraduate (U) or graduate (G) student.
Note that the program will loop around until the user selects the first option (Quit).
Set up a student ArrayList of N student objects, and test it with N = 10 (at least). You have to
store your test data in a file so that your program can read them. You should use 5 
undergraduate and 5 graduate students in your test. Consider all possible enrolment types in 
your test

Public Answer

GZYDI8 The First Answerer