57 lines
1.5 KiB
Java
57 lines
1.5 KiB
Java
package CourseRegistrationStarter;
|
|
import java.util.ArrayList;
|
|
|
|
public class Student {
|
|
private final String name;
|
|
private final String studentId;
|
|
private ArrayList<Course> registeredCourses;
|
|
private int courseLimit;
|
|
|
|
public Student(String name, String studentId, int courseLimit) {
|
|
this.name = name;
|
|
this.studentId = studentId;
|
|
this.registeredCourses = new ArrayList<>();
|
|
this.courseLimit = courseLimit;
|
|
}
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public String getStudentId() {
|
|
return studentId;
|
|
}
|
|
|
|
public boolean addCourse(Course c) {
|
|
|
|
if(c.getCapacity() > 0 && registeredCourses.size() < courseLimit) {
|
|
registeredCourses.add(c);
|
|
c.reduceCapacity();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public void setCourseLimit(int amount) {
|
|
if(amount>0)
|
|
courseLimit = amount;
|
|
}
|
|
|
|
public boolean dropCourse(Course c) {
|
|
if (registeredCourses.remove(c)) {
|
|
c.increaseCapacity();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public void showRegisteredCourses() {
|
|
|
|
for(int i=0 ; i < registeredCourses.size() ; i++) {
|
|
System.out.print("Course");
|
|
System.out.print(i+1);
|
|
System.out.print(" : " + registeredCourses.get(i).getCourseName() + " " + registeredCourses.get(i).getCourseCode());
|
|
System.out.println(", capacity : " +registeredCourses.get(i).getCapacity());
|
|
}
|
|
}
|
|
} |