我开始自己学习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循环中有条件语句,因此除非选择退出选项,否则菜单不会退出。
答案 0 :(得分:1)
更新选择变量的行应该在循环内:
int choice;
do {
choice = menu.nextInt();
// ...
} while(choice != 4);
否则,menu.nextInt()
只会运行一次,在第一个之后不会再读取数字且choice
的值不会发生变化,因此choice != 4
将始终为true
(除非你第一次选择4)。