我正在尝试为程序创建简单的菜单。当用户输入char而不是整数时,我使用InputMismatchException捕获异常,但是当我输入char时程序正在循环。
我将callMenu方法留空,但在解决此问题后将其填充。
我不确定主菜单或捕获部分中的错误。当我没有在catch部分中编写kb.nextInt()时,我将得到无限循环。在另一种情况下,它会显示错误
localstorage.removeItem('webToken')
答案 0 :(得分:0)
我不会大量修改您的代码。这是我看到的错误以及我认为您可以更改的内容
public static int getChoice() {
Scanner kb = new Scanner(System.in);
System.out.print("\n Enter menu number:");
int choice=-1;
try{
choice = kb.nextInt();
while (!isValidChoice(choice)) {
System.out.println("\n INVALID INPUT. Try again.");
System.out.print("Enter menu number: ");
choice = kb.nextInt();
}
}catch (InputMismatchException e) {
System.out.println("Error");
}
return choice;
}
在您的主要方法中
public static void main(String[] args) {
do {
Menu.showMenu();
Menu.callMenu(Menu.getChoice());
} while (false);
}
希望这能解决。让我知道
答案 1 :(得分:-1)
尝试将此代码放入Menu类中
public static void main(String[] args) {
do {
Menu.showMenu();
Menu.callMenu(Menu.getChoice());
} while (true);
}
public static void showMenu() {
System.out.println("----------Menu----------");
System.out.println("1 - ");
System.out.println("2 - ");
System.out.println("0 - Exit");
}