package CourseRegistrationStarter; import java.util.ArrayList; public class Student { private String name; private String studentId; private ArrayList registeredCourses; private int maxCourses = 3; public Student(String name, String studentId) { this.name = name; this.studentId = studentId; this.registeredCourses = new ArrayList<>(); } public String getName() { return name; } public String getStudentId() { return studentId; } public boolean addCourse(Course c) { //bonus1:جلوگیری از ثبت نام تکراری for (Course course : registeredCourses) { if (course.getCourseCode().equals(c.getCourseCode())) { return false; } } //bonus2:محدودیت برای تکرار if (registeredCourses.size() >= maxCourses) { return false; } // TODO: Register the student in the course if capacity allows if (c.getCapacity()>0){ registeredCourses.add(c); c.reduceCapacity(); return true; } return false; } public boolean dropCourse(Course c) { // TODO: Remove the course from the student's list if (registeredCourses.contains(c)){ registeredCourses.remove(c); c.increaseCapacity(); return true; } return false; } public void showRegisteredCourses() { // TODO: Print all registered courses System.out.println("Registered courses for"+name+":"); for (Course c :registeredCourses){ System.out.println(c.getCourseName()+"-"+ c.getCourseCode()); } } //bonus3 public Course findCourseByName(String name){ for (Course c: registeredCourses){ if (c.getCourseName().equalsIgnoreCase(name)){ return c; } } return null; } }