We want to keep track of students and the classes they have taken. For this assignment write a program for keeping a course list for a student. (Next assignment, we will add a class that keeps a collection of students).
The solution to this problem will require implementation of several classes. A Student has a name and a list of courses. Each Course is represented by another class. A Course class has the name of the course, the number of units, and the grade the student received. Provide a toString method for this class. (You can look at the Employee class to see what a toString method should look like).
The courses for a student are kept in a CourseList. A CourseList has a array list of Course objects and methods to add a course, to get the ith course, to get the number of courses, and to calculate the grade point average of the courses.
Student has a method to "print" the student name, gpa and the list of courses. It is not good object-oriented programming to have methods in a object that actually print to the console window. So your print method should return a formatted string. The caller of the method can then decide what to do. It could print to the console window or to a JOptionPane, for instance.
Write an application to test the Student class. Call it StudentTest.
You may need to add other methods to these classes or create other classes.
Here is a sample application and its output. But write your own and be sure to test all the methods.
An application to test the student class
public class StudentTest
public static void main (String args)
Student s = new Student("Bill");
[url removed, login to view]("cis27C", 4, "A");
[url removed, login to view]("pe10", 1, "a");
Course c = new Course("eng1a", 3, "b");
[url removed, login to view](c);
[url removed, login to view]([url removed, login to view]());
Student:Bill gpa: 3.625
Course[name:CIS27C units:4 grade:A]
Course[name:PE10 units:1 grade:A]
Course[name:ENG1A units:3 grade:B]
Use a object-oriented solution.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).