desislava_topuzakova

Untitled

Oct 25th, 2020
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. package classroom;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.stream.Collectors;
  6.  
  7. public class Classroom {
  8.  
  9. public List<Student> students;
  10. public int capacity;
  11.  
  12. public Classroom(int capacity) {
  13. this.capacity = capacity;
  14. this.students = new ArrayList<>();
  15. }
  16.  
  17. public List<Student> getStudents() {
  18. return this.students;
  19. }
  20.  
  21. public int getCapacity() {
  22. return capacity;
  23. }
  24.  
  25. public int getStudentCount() {
  26. return this.students.size();
  27. }
  28.  
  29. public String registerStudent(Student student) {
  30. if(this.students.size() >= this.capacity) {
  31. return "No seats in the classroom";
  32. } else if(this.students.contains(student)){
  33. return "Student is already in the classroom";
  34. } else {
  35. this.students.add(student);
  36. return String.format("Added student %s %s", student.getFirstName(), student.getLastName());
  37.  
  38. }
  39. }
  40.  
  41. public String dismissStudent (Student studentForDismiss) {
  42.  
  43. for (Student student : this.students ) {
  44. if(student.getFirstName().equals(studentForDismiss.getFirstName()) && student.getLastName().equals(studentForDismiss.getLastName())){
  45.  
  46. this.students.remove(student);
  47. return String.format("Removed student %s %s", student.getFirstName(), student.getLastName());
  48. }
  49. }
  50. return "Student not found";
  51.  
  52. }
  53.  
  54. public String getSubjectInfo(String subject) {
  55. List<Student> students = this.students
  56. .stream()
  57. .filter(s ->
  58. s.getBestSubject().equals(subject)
  59. ).collect(Collectors.toList());
  60.  
  61. if (students.size() == 0) {
  62. return "No students enrolled for the subject";
  63. }
  64.  
  65. StringBuilder sb = new StringBuilder();
  66. sb.append(String.format("Subject: %s%n", subject));
  67. sb.append(String.format("Students:%n"));
  68. for (Student student :
  69. students) {
  70. sb.append(String
  71. .format("%s %s%n"
  72. , student.getFirstName(), student.getLastName()));
  73. }
  74. return sb.toString().trim();
  75. }
  76.  
  77. public Student getStudent(String firstName, String lastName) {
  78. for (Student student : this.students){
  79. if(student.getFirstName().equals(firstName) && student.getLastName().equals(lastName)) {
  80. return student;
  81. }
  82. }
  83. return null;
  84. }
  85.  
  86. public String getStatistics() {
  87. StringBuilder sb = new StringBuilder();
  88. sb.append(String.format("Classroom size: %d", this.getStudentCount()));
  89. this.students.forEach(s -> sb.append(String.format("%n==")).append(s.toString()));
  90. return sb.toString();
  91. }
  92. }
  93.  
Advertisement
Add Comment
Please, Sign In to add comment