Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package classroom;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- public class Classroom {
- public List<Student> students;
- public int capacity;
- public Classroom(int capacity) {
- this.capacity = capacity;
- this.students = new ArrayList<>();
- }
- public List<Student> getStudents() {
- return this.students;
- }
- public int getCapacity() {
- return capacity;
- }
- public int getStudentCount() {
- return this.students.size();
- }
- public String registerStudent(Student student) {
- if(this.students.size() >= this.capacity) {
- return "No seats in the classroom";
- } else if(this.students.contains(student)){
- return "Student is already in the classroom";
- } else {
- this.students.add(student);
- return String.format("Added student %s %s", student.getFirstName(), student.getLastName());
- }
- }
- public String dismissStudent (Student studentForDismiss) {
- for (Student student : this.students ) {
- if(student.getFirstName().equals(studentForDismiss.getFirstName()) && student.getLastName().equals(studentForDismiss.getLastName())){
- this.students.remove(student);
- return String.format("Removed student %s %s", student.getFirstName(), student.getLastName());
- }
- }
- return "Student not found";
- }
- public String getSubjectInfo(String subject) {
- List<Student> students = this.students
- .stream()
- .filter(s ->
- s.getBestSubject().equals(subject)
- ).collect(Collectors.toList());
- if (students.size() == 0) {
- return "No students enrolled for the subject";
- }
- StringBuilder sb = new StringBuilder();
- sb.append(String.format("Subject: %s%n", subject));
- sb.append(String.format("Students:%n"));
- for (Student student :
- students) {
- sb.append(String
- .format("%s %s%n"
- , student.getFirstName(), student.getLastName()));
- }
- return sb.toString().trim();
- }
- public Student getStudent(String firstName, String lastName) {
- for (Student student : this.students){
- if(student.getFirstName().equals(firstName) && student.getLastName().equals(lastName)) {
- return student;
- }
- }
- return null;
- }
- public String getStatistics() {
- StringBuilder sb = new StringBuilder();
- sb.append(String.format("Classroom size: %d", this.getStudentCount()));
- this.students.forEach(s -> sb.append(String.format("%n==")).append(s.toString()));
- return sb.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment