无法退出(嵌套)while循环 - Java
问题描述:
我正在尝试创建类似于(非常)基本的在线购物应用程序的(非常)简单的菜单/子菜单导航系统。
我得到的问题是,一旦我进入了子菜单(通过在顶层菜单中输入2),我无法离开子菜单;即使输入3或4,我不知道为什么会发生这种情况,任何帮助,将不胜感激。无法退出(嵌套)while循环 - Java
while (subChoice != 3 || subChoice != 4) {
subMenu();
subChoice = getChoice(1, 4);
if (subChoice == 1) {
// Add items
System.out.println("add");
} else if (subChoice == 2) {
// Remove items
System.out.println("delete");
} else if (subChoice == 3) {
// Check out
System.out.println("check out");
} else if (subChoice == 4) {
// Discard cart
System.out.println("discard");
}
}
答
while (subChoice != 3 || subChoice != 4) {
是测试如果subChoice
是NOT 3或是NOT 4.它不能同时既,因此该循环永远不会结束。要修复它,请使用以下任一选项:
while (subChoice != 3 && subChoice != 4) {
...
}
while (!(subChoice == 3 || subChoice == 4)) {
...
}
打开调试器并自行回答。不要垃圾SO。 – Val 2013-05-08 12:17:19