import java.util.ArrayList;
import java.util.List;
class Student {
private final String name;
private final int id;
private final List enrolledCourses;
public Student(String name, int id) {
this.name = name;
this.id = id;
this.enrolledCourses = new ArrayList();
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public List getEnrolledCourses() {
return enrolledCourses;
}
public void enrollCourse(Course course) {
enrolledCourses.add(course);
}
public void dropCourse(Course course) {
enrolledCourses.remove(course);
}
public double calculateGPA() {
double totalCredits = 0;
double totalGradePoints = 0;
for (Course course : enrolledCourses) {
totalCredits += course.getCredits();
totalGradePoints += course.getCredits() * course.getGrade();
}
return totalGradePoints / totalCredits;
}
}
class Course {
private final String courseCode;
private final String courseName;
private final int credits;
private double grade;
public Course(String courseCode, String courseName, int credits) {
this.courseCode = courseCode;
this.courseName = courseName;
this.credits = credits;
}
public String getCourseCode() {
return courseCode;
}
public String getCourseName() {
return courseName;
}
public int getCredits() {
return credits;
}
public double getGrade() {
return grade;
}
public void setGrade(double grade) {
this.grade = grade;
}
}
public class UniversityManagementSystem {
public static void main(String[] args) {
// Create courses
Course mathCourse = new Course("MATH101", "Introduction to Mathematics", 3);
Course csCourse = new Course("CS101", "Introduction to Computer Science", 4);
// Create students
Student student1 = new Student("Alice", 1);
Student student2 = new Student("Bob", 2);
// Enroll students in courses
student1.enrollCourse(mathCourse);
student1.enrollCourse(csCourse);
student2.enrollCourse(mathCourse);
// Set grades for courses
mathCourse.setGrade(3.5);
csCourse.setGrade(4.0);
// Display GPA for each student
System.out.println("GPA for " + student1.getName() + ": " + student1.calculateGPA());
System.out.println("GPA for " + student2.getName() + ": " + student2.calculateGPA());
}
}