import java.util.*; public class Activity2_MenuDriven { public static void main(String[] args) { Scanner s = new Scanner(System.in); ArrayList list = new ArrayList(); list.add("Abigail"); list.add("Brian"); list.add("Zachery"); list.add("Christy"); while (true) { System.out.println("-----------ENROLLMENT MENU-----------"); System.out.println("1 - ENROLL"); System.out.println("2 - UNENROLL"); System.out.println("3 - PRINT STUDENTS"); System.out.println("4 - SORT STUDENTS"); System.out.println("5 - SEARCH STUDENTS"); System.out.println("6 - REPLACE"); System.out.println("7 - Exit"); System.out.println("--------------------------------------"); System.out.print("Enter choice: "); int choice = s.nextInt(); s.nextLine(); // Consume newline switch (choice) { case 1: Enroll(list, s); break; case 2: Unenroll(list, s); break; case 3: System.out.println("Updated enrolled students: "); Print(list); break; case 4: System.out.println("Before sorted: "); Print(list); System.out.println("After sorted: "); SortStuds(list); break; case 5: SearchStuds(list, s); break; case 6: Replace(list, s); break; case 7: System.out.print("You exited."); System.exit(0); break; default: System.out.println("Use numbers between 1 - 6."); System.out.println(); break; } } } public static void Enroll(ArrayList list, Scanner s) { System.out.print("Enter how many Students you want to Enroll: "); int studCount = s.nextInt(); s.nextLine(); // Consume newline System.out.println("Enter name(s) you want to Enroll: "); for (int i = 0; i < studCount; i++) { String students = s.nextLine(); list.add(students); } System.out.println("You/They are now Enrolled!"); System.out.println("Enrolled students: "); for (int i = 0; i < list.size(); i++) { System.out.println(i + 1 + "). " + list.get(i)); } System.out.println(); } public static void Unenroll(ArrayList list, Scanner s) { Print(list); System.out.print("Enter how many Students you want to unenroll: "); int studCount = s.nextInt(); s.nextLine(); // Consume newline int[] indices = new int[studCount]; System.out.print("Specify which indices you want to unenroll: "); for (int i = 0; i < studCount; i++) { indices[i] = s.nextInt() - 1; } s.nextLine(); // Consume newline for (int i = studCount - 1; i >= 0; i--) { int indexToRemove = indices[i]; if (indexToRemove >= 0 && indexToRemove < list.size()) { list.remove(indexToRemove); } } System.out.println("You/They are now Unenrolled!"); System.out.println("Updated enrolled students: "); Print(list); } public static void Print(ArrayList list) { for (int i = 0; i < list.size(); i++) { System.out.println(i + 1 + "). " + list.get(i)); } System.out.println(); } public static void SortStuds(ArrayList list) { Collections.sort(list); Print(list); System.out.println(); } public static void SearchStuds(ArrayList list, Scanner s) { Collections.sort(list); System.out.println("Enrolled students: "); Print(list); System.out.print("Enter the name you want to search: "); String students = s.nextLine(); if (list.contains(students)) { System.out.println(students + " exists!"); } else { System.out.println(students + " does not exist!"); } System.out.println(); } public static void Replace(ArrayList list, Scanner s) { Print(list); System.out.print("Enter how many Students you want to replace: "); int studCount = s.nextInt(); s.nextLine(); // Consume newline int[] indices = new int[studCount]; Print(list); System.out.print("Specify which indices you want to replace: "); for (int i = 0; i < studCount; i++) { indices[i] = s.nextInt() - 1; } s.nextLine(); // Consume newline System.out.println("Enter names you want to replace them with: "); for (int i = 0; i < studCount; i++) { String students = s.nextLine(); list.set(indices[i], students); } System.out.println("\nThey are now replaced!"); System.out.println("New students: "); Print(list); } }