-
Notifications
You must be signed in to change notification settings - Fork 0
/
Grouping.java
149 lines (122 loc) · 2.59 KB
/
Grouping.java
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package fypScheduling;
import java.util.List;
import java.io.Serializable;
import java.util.ArrayList;
public class Grouping implements Serializable{
private static int incID =0;
private int id;
private String groupName;
private int size;
private ArrayList<Course> courses;
private int year;
private int specialisation;
private int[] dayOfWork;
public Grouping(String groupName, int size, int year, int specialisation){
id = incID++;
this.groupName = groupName;
this.size = size;
courses = new ArrayList<Course>();
this.setYear(year);
this.setSpecialisation(specialisation);
dayOfWork = new int[5];
resetDayOfWork();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public ArrayList<Course> getCourses() {
return courses;
}
public void setCourses(ArrayList<Course> course) {
this.courses = course;
}
public void addCourse(Course target){
this.courses.add(target);
}
public String toString(){
String result = this.groupName +"\t"+ this.size +"\t"+ listOfCourse();
return result;
}
public String listOfCourse(){
String result = "";
for (Course child : courses){
result += " " + child.getCourseNum();
}
result = "[" + result + " ]";
return result;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public boolean isSeniorYear() {
if (this.year == 3 || this.year == 4){
return true;
}
else{
return false;
}
}
public int getSpecialisation() {
return specialisation;
}
public void setSpecialisation(int specialisation) {
this.specialisation = specialisation;
}
public String toString2() {
String result = this.groupName +"\t" + countDaysOfWork();
return result;
}
public void resetDayOfWork() {
for (int i = 0; i <5; i++) {
dayOfWork[i] = 0;
}
}
public boolean isDayExceeded() {
int result = 0;
for (int i = 0; i < 5; i++) {
if (dayOfWork[i] != 0) {
result++;
}
}
if (result >= 3) {
return true;
}
return false;
}
public boolean isDayExceeded(int day) {
if (dayOfWork[day] > 1) {
return true;
}
return false;
}
public void increaseDayOfWork(int day) {
dayOfWork[day] = dayOfWork[day] + 1;
}
public int countDaysOfWork() {
int result = 0;
for (int i = 0; i < 5; i++) {
if (dayOfWork[i] != 0) {
result++;
}
}
return result;
}
}