Chí Tâm_2302220_TTU
ActivityManager.java:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ActivityManager {
private List<Student> students;
private List<Event> events;
public ActivityManager() {
students = new ArrayList<>();
events = new ArrayList<>();
}
public void addStudent(Student student) {
students.add(student);
}
public void addEvent(Event event) {
events.add(event);
}
public void registerStudentForEvent(String studentId, String eventId) {
Student student = findStudentById(studentId);
Event event = findEventById(eventId);
if (student != null && event != null) {
student.registerEvent(event);
} else {
if (student == null) {
System.out.println("Student ID " + studentId + " not found.");
}
if (event == null) {
System.out.println("Event ID " + eventId + " not found.");
}
}
}
public void registerStudentForEventFromInput() {
/ resource /
Chí Tâm_2302220_TTU
Scanner scanner = new Scanner(System.in);
System.out.print("Enter student ID: ");
String studentId = scanner.nextLine();
System.out.print("Enter event ID: ");
String eventId = scanner.nextLine();
registerStudentForEvent(studentId, eventId);
}
public Student findStudentById(String studentId) {
for (Student student : students) {
if (student.getStudentId().equals(studentId)) {
return student;
}
}
return null;
}
public Event findEventById(String eventId) {
for (Event event : events) {
if (event.getEventId().equals(eventId)) {
return event;
}
}
return null;
}
public void loadDataFromFile(String filename) {
try (Scanner scanner = new Scanner(new File(filename))) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] fields = line.split(",");
if (fields[0].startsWith("SV")) {
Student student = new Student(fields[0], fields[1], Integer.parseInt(fields[2].trim()),
fields[3], fields[4], Integer.parseInt(fields[5].trim()));
addStudent(student);
System.out.println("Loaded student: " + student.getFullName());
} else if (fields[0].startsWith("EV")) {
Event event = new Event(fields[0], fields[1], Integer.parseInt(fields[2].trim()));
addEvent(event);
System.out.println("Loaded event: " + event.getEventName());
}
}
Chí Tâm_2302220_TTU
} catch (IOException e) {
e.printStackTrace();
}
}
public void saveDataToFile(String filename) {
try (FileWriter writer = new FileWriter(filename)) {
for (Student student : students) {
writer.write(student.getStudentId() + "," + student.getFullName() + "," +
student.getBirthYear() + "," +
student.getMajor() + "," + student.getCourse() + "," +
student.getTotalRequiredHours() + "\n");
for (Event event : student.getEvents()) {
writer.write(student.getStudentId() + "," + event.getEventId() + "\n");
}
}
for (Event event : events) {
writer.write(event.getEventId() + "," + event.getEventName() + "," + event.getHours()
+ "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void printStudentEvents(String studentId) {
Student student = findStudentById(studentId);
if (student != null) {
System.out.println("Events for student " + student.getFullName() + ":");
List<Event> studentEvents = student.getEvents();
if (!studentEvents.isEmpty()) {
for (Event event : studentEvents) {
System.out.println(" - " + event.getEventName() + " (" + event.getHours() + "
hours)");
}
System.out.println("Remaining hours: " + student.calculateRemainingHours());
} else {
System.out.println("No events registered.");
}
} else {
System.out.println("Student not found.");
}
}
Chí Tâm_2302220_TTU
public void printAllStudents() {
for (Student student : students) {
System.out.println(student);
}
}
public boolean searchStudentById(String studentId) {
Student student = findStudentById(studentId);
if (student != null) {
System.out.println(student);
return true;
} else {
System.out.println("Student ID " + studentId + " not found.");
return false;
}
}
}