Files
WS-02-intro-to-oop/src/CourseRegistrationStarter/Student.java
T
2026-05-16 13:09:33 +03:30

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());
}
}
}