我开始自学 Java,想看看是否可以创建一个基本菜单,但在选择一个选项后我不断陷入无限循环。有什么建议么?
Scanner menu = new Scanner(System.in);
System.out.println("1. Print Name");
System.out.println("2. Print Age");
System.out.println("3. Print City");
System.out.println("4. Quit");
int choice = menu.nextInt();
do {
if (choice == 1) {
System.out.println("Saleh Kaddoura");
}
else if (choice == 2) {
System.out.println("20");
}
else if (choice == 3) {
System.out.println("Santa Clara");
}
else {
System.out.println("That is not a Valid Option!");
}
} while(choice != 4);
menu.close();
当我选择 1 时,它会陷入无限循环,打印我的名字。我在 do while 循环中有条件语句,因此除非选择退出选项,否则菜单不会退出。
最佳答案
更新选择变量的行应该位于循环内:
int choice;
do {
choice = menu.nextInt();
// ...
} while(choice != 4);
否则,menu.nextInt()
只会运行一次,在第一个数字之后不会再读取任何数字,并且choice
的值不会改变,所以choice != 4
将始终为 true
(除非您第一次选择 4)。
关于java - 在Java中创建菜单时无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23047855/