-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.java
More file actions
61 lines (54 loc) · 1.84 KB
/
Copy pathProgram.java
File metadata and controls
61 lines (54 loc) · 1.84 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
import java.util.*;
import java.io.*;
// Represents an academic program
public class Program {
//Fields
private String code;
private String name;
private String department;
private String degreeLevel;
private int requiredCredits;
private List<Course> courses;
// Constructs a program and initializes course list
public Program(String code, String name, String department, String degreeLevel, int requiredCredits) {
this.code = code;
this.name = name;
this.department = department;
this.degreeLevel = degreeLevel;
this.requiredCredits = requiredCredits;
this.courses = new ArrayList<>();
}
// Adds a course to the program's course list
public void addCourse(Course course) {
courses.add(course);
}
//Getters
public String getCode() {
return code;
}
public String getName() {
return name;
}
// Generates a report representing the program and its courses
public String generateReport() {
StringWriter writer = new StringWriter();
writer.write("Program Code: " + code + "\n");
writer.write("Name: " + name + "\n");
writer.write("Department: " + department + "\n");
writer.write("Degree Level: " + degreeLevel + "\n");
writer.write("Required Credits: " + requiredCredits + "\n");
if (courses.isEmpty()) {
writer.write("Courses: - \n");
} else {
writer.write("Courses: {");
for (int i = 0; i < courses.size(); i++) {
writer.write(courses.get(i).getCode());
if (i < courses.size() - 1) {
writer.write(",");
}
}
writer.write("}\n\n");
}
return writer.toString();
}
}