continue from first question,
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