package dev; import dev.service.StudentManager; import dev.thread.StudentLoader; import dev.utils.FileManager; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); StudentManager manager = new StudentManager(); while (true) { System.out.println(""" 1.Load students 2.Search student 3.Remove student 4.Print students 5.Exit"""); int choice = scanner.nextInt(); switch (choice) { case 1 -> { List data = FileManager.loadStudents("students.txt"); int size = data.size(); int part1Size = size / 3; int part2Size = 2 * size / 3; List part1 = data.subList(0, part1Size); List part2 = data.subList(part1Size, part2Size); List part3 = data.subList(part2Size, size); StudentLoader t1 = new StudentLoader(part1); StudentLoader t2 = new StudentLoader(part2); StudentLoader t3 = new StudentLoader(part3); t1.start(); t2.start(); t3.start(); t1.join(); t2.join(); t3.join(); manager.addStudents(t1.getStudents()); manager.addStudents(t2.getStudents()); manager.addStudents(t3.getStudents()); System.out.println("Students loaded successfully."); } case 2 -> { System.out.print("ID: "); int id = scanner.nextInt(); System.out.println(manager.searchStudent(id)); } case 3 -> { System.out.print("ID: "); int id = scanner.nextInt(); boolean removed = manager.removeStudent(id); System.out.println(removed); } case 4 -> manager.printStudents(); case 5 -> { return; } } } } }