2013-05-08 173 views
0

我正在尝试创建类似于(非常)基本的在线购物应用程序的(非常)简单的菜单/子菜单导航系统。
我得到的问题是,一旦我进入了子菜单(通过在顶层菜单中输入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"); 
      } 
     } 
+0

打开调试器并自行回答。不要垃圾SO。 – Val 2013-05-08 12:17:19

回答

2

while (subChoice != 3 || subChoice != 4) {是测试如果subChoiceNOT 3或是NOT 4.它不能同时既,因此该循环永远不会结束。要修复它,请使用以下任一选项:

while (subChoice != 3 && subChoice != 4) { 
    ... 
} 
while (!(subChoice == 3 || subChoice == 4)) { 
    ... 
}