The user is asked for the name of the semester


You are to write an application to keep track of all Programming Certificate Graduate Candidates. There are 6 required courses for this certificate. The grades for each class will be read in from a file and then the application will calculate the GPA (grade point average) based on the following:
A = 4.0, B = 3.0, C = 2.0, D = 1.0, E = 0.0, F = 0.0. 
The application will then determine the status of each candidate based on the following:
If the GPA is 3.5 or higher, the student is eligible for a Scholarship and the status is Scholarship
If the GPA is greater than 3.0 and less than 3.5, the status is Honors
If the candidate has received a D or F for any class, they are ineligible for graduation, and the status is Ineligible.
All other candidates are eligible for graduation and the status is Eligible. 

Operation
The user is asked for the name of the semester.
When the user selects the Read File button, the user is asked to select the file and the candidate's names and grades for the 6 required courses are displayed with their GPA and graduation status. The Number of Graduates and the average GPA is displayed. 
When the user closes the frame or presses the Exit button, the application exits.

Specifications
Data Element - Candidate class
Create a Candidate class. It will contain instance variables for the candidate name, the grades and the average. You will need a method to calculate the GPA, and determine the status of the candidates. 

Data Manager - CandidatesManager class
Create a CandidateManager class. It will contain an arraylist of Candidate objects. Data Managers are in charge of adding to the data structure, deleting from the data structure, updating the data structure, retrieving information from the data structure and any other methods that involve the data structure as a whole. This Data Manager will only need to add to the data structure (addCandidate) and retrieve from the data structure (getCandidates). Provide a constructor and a toString method. The toString method will use a for each loop to display the contents of the data structure. Follow the Javadoc that I gave you for your CandidatesManager class so that the JUnit test for this class will work correctly. Add any additional methods as required for your design.

GUI Driver
It will contain a CandidatesManager object. 
Ask the user for the Semester and Year with a JOptionPane at the beginning of the application.
Use the FileChooser when asking the user for a file to read from.
Print averages with 3 decimal places. 

Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: The user is asked for the name of the semester
Reference No:- TGS087254

Expected delivery within 24 Hours