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"); // TODO: // Split data into 3 parts int size = data.size(); List part1 = data.subList(0, size / 3); List part2 = data.subList(size / 3, 2 * size / 3); List part3 = data.subList(2 * size / 3, size); // TODO: StudentLoader t1 = new StudentLoader(part1); StudentLoader t2 = new StudentLoader(part2); StudentLoader t3 = new StudentLoader(part3); // TODO: // start() t1.start(); t2.start(); t3.start(); // join() t1.join(); t2.join(); t3.join(); // merge results manager.addStudents(t1.getStudents()); manager.addStudents(t2.getStudents()); manager.addStudents(t3.getStudents()); } 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; } } } } }