0% found this document useful (0 votes)
5 views4 pages

ActivityManager

The ActivityManager class manages a list of students and events, allowing for the addition of students and events, as well as registering students for events. It includes methods for loading and saving data from/to files, printing student events, and searching for students by ID. The class utilizes a Scanner for user input to register students for events and handles potential errors when searching for students or events.

Uploaded by

tam.le2302220
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views4 pages

ActivityManager

The ActivityManager class manages a list of students and events, allowing for the addition of students and events, as well as registering students for events. It includes methods for loading and saving data from/to files, printing student events, and searching for students by ID. The class utilizes a Scanner for user input to register students for events and handles potential errors when searching for students or events.

Uploaded by

tam.le2302220
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

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;
}
}
}

You might also like