From 5f1ea0ee335a73edf53939b87218a34e93fe4de9 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 9 Oct 2025 21:03:25 -0400 Subject: Menu cleanup - pass 1 --- src/main/java/design/controller/userinput/Menu.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java/design/controller/userinput/Menu.java') diff --git a/src/main/java/design/controller/userinput/Menu.java b/src/main/java/design/controller/userinput/Menu.java index 0b2fb26..6bf3da4 100644 --- a/src/main/java/design/controller/userinput/Menu.java +++ b/src/main/java/design/controller/userinput/Menu.java @@ -11,17 +11,17 @@ public abstract class Menu { var menuOptions = getMenuOptions(); System.out.println(); System.out.printf("-- %s --\n", getTitle().toUpperCase()); - for (int i = 0; i < menuOptions.size(); i++) { - MenuOption menuOption = menuOptions.get(i); + for (int i = 1; i <= menuOptions.size(); i++) { + MenuOption menuOption = menuOptions.get(i-1); System.out.printf("%s: %s\n", i, menuOption.getName()); } - System.out.print("Selection: "); + System.out.printf("Selection (%s..%s): ", 1, menuOptions.size()); Scanner sc = new Scanner(System.in); var line = sc.nextLine(); try { - int i = Integer.parseInt(line); + int i = Integer.parseInt(line) - 1; menuOptions.get(i).onAction(); } catch (ArrayIndexOutOfBoundsException ex) { System.err.printf("Invalid option \"%s\"\n", line); -- cgit v1.2.3 From 050118d5d029382ffc3b11e9f8159fb297007ef5 Mon Sep 17 00:00:00 2001 From: Willem Dalton <144246261+WillemDalton@users.noreply.github.com> Date: Sun, 12 Oct 2025 09:24:01 -0400 Subject: Update Menu.java fixed IndexOutOfBounds exception to catch (for some reason, arrayindexoutofbounds) does not catch for out of index menu choices --- src/main/java/design/controller/userinput/Menu.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/design/controller/userinput/Menu.java') diff --git a/src/main/java/design/controller/userinput/Menu.java b/src/main/java/design/controller/userinput/Menu.java index 6bf3da4..ab633e1 100644 --- a/src/main/java/design/controller/userinput/Menu.java +++ b/src/main/java/design/controller/userinput/Menu.java @@ -23,7 +23,7 @@ public abstract class Menu { try { int i = Integer.parseInt(line) - 1; menuOptions.get(i).onAction(); - } catch (ArrayIndexOutOfBoundsException ex) { + } catch (IndexOutOfBoundsException ex) { System.err.printf("Invalid option \"%s\"\n", line); present(); } -- cgit v1.2.3