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(); int chunk = (size + 2) / 3; List part1 = data.subList(0, Math.min(chunk, size)); List part2 = data.subList(Math.min(chunk, size), Math.min(2 * chunk, size)); List part3 = data.subList(Math.min(2 * chunk, size), size); // TODO: StudentLoader t1 = new StudentLoader(part1); StudentLoader t2 = new StudentLoader(part2); StudentLoader t3 = new StudentLoader(part3); // TODO: t1.start(); t2.start(); t3.start(); t1.join(); t2.join(); t3.join(); 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; } } } } }