-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy pathClassroom.java
More file actions
122 lines (89 loc) · 2.83 KB
/
Classroom.java
File metadata and controls
122 lines (89 loc) · 2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package io.zipcoder;
import java.util.*;
public class Classroom {
//declare the instance variables
Student[] students;
int maxNumberOfStudents;
ArrayList<Student> studentList;
//1st constructor
public Classroom(int max) {
this.maxNumberOfStudents = max;
students=new Student[max];
studentList=new ArrayList<>();
}
//2nd constructor
//here student is the object in Student[]
public Classroom(Student[] students) {
this.students = students;
}
//3rd constructor
public Classroom() {
studentList=new ArrayList<>();
students=new Student[30];
}
//define a method getStudent()
public Student[] getStudents() {
return students;
}
//get average exam score
public Double getAverageExamScore() {
double total = 0;
for (Student s : students) {
if (s != null)
total = total + s.averageExamScore();
}
Double average = total / students.length;
return average;
}
//define method add student
public void addStudent(Student student) {
for (int i = 0; i < students.length; i++) {
if(students[i]==null){
students[i]=student;
break;
}
}
}
@Override
public String toString() {
return "Classroom{" +
"students=" + Arrays.toString(students) +
", maxNumberOfStudents=" + maxNumberOfStudents +
'}';
}
public void removeStudent(String firstName ,String lastName) {
List<Student> studentsList = new ArrayList<>();
if(this.students !=null) {
studentsList = new ArrayList<>(Arrays.asList(this.students));
}
for(Student student : studentsList) {
if(student.getFirstName().equals(firstName) && student.getLastName().equals(lastName)) {
studentsList.remove(student);
break;
}
}
this.students = studentsList.toArray(new Student[]{});
}
public Student getStudentsByScore(Student[] students){
Arrays.sort(students, Collections.reverseOrder());
return null;
}
public Map<Student, String> getGradebook() {
Map<Student, String> gradebook = new HashMap<>();
String grade = "";
for (Student student : students) {
if (student.averageExamScore() >= 90)
grade = "A";
else if (student.averageExamScore() >= 80)
grade = "B";
else if (student.averageExamScore() >= 70)
grade = "C";
else if (student.averageExamScore() >= 60)
grade = "D";
else
grade = "F";
gradebook.put(student, grade);
}
return gradebook;
}
}