我正在尝试创建一个(非常)简单的菜单/子菜单导航系统,类似于(非常)基本的在线购物应用程序。
我得到的问题是,一旦我进入子菜单(通过在顶级菜单中输入2),我就无法离开子菜单;即使进入3或4.我不确定为什么会这样,任何帮助都会受到赞赏。
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");
}
}
答案 0 :(得分:2)
while (subChoice != 3 || subChoice != 4) {
正在测试subChoice
是 NOT 3还是 NOT 4.它不能同时进行,所以循环永远不会结束。要解决此问题,请使用以下任一方法之一:
while (subChoice != 3 && subChoice != 4) {
...
}
while (!(subChoice == 3 || subChoice == 4)) {
...
}