1

未读取 (cancel1 = 2) 布尔值“取消”的代码部分:

while (done !=0){
  pizzaChoice = readInt ("Choose the type of pizza you wish to order");
  double quantity = readInt ("How many " + type[pizzaChoice] + " pizzas do you wish to buy (Maximum pizzas per order is 5)");   

  if(quantity >= max){
    System.out.println("Sorry you cannot order more than five pizzas");


    if ((quantity - max) <= 0){
      double pizzasLeft = max - quantity;

      System.out.println("You can still order " + pizzasLeft + " pizzas");

      pizzasLeft2 = pizzasLeft2 - pizzasLeft;

下一个 if 循环是问题所在

              if (pizzasLeft2 <= 0){
                boolean cancel = true;
                int cancel1 = readInt("Press 2 to cancel your order and start again"); 
                if(cancel1 == 2){
                  cancel = false;
                }

              }
            }
          }

          done= readInt ("Press 0 if you are done or press 1 to make another pizza order");
          double total1 = quantity*price[pizzaChoice];
          total2 = total2 + total1;
        }
4

2 回答 2

2

相关的代码cancel对我来说似乎是正确的。
我建议您检查具有此值的块。首先进入if区块的条件是否满足?
一个提示是另一个取消全局变量可能会对其角色产生歧义。

于 2012-05-14T10:26:48.917 回答
1

您在抱怨 Eclipse,或者您正在使用的任何 IDE 都在抱怨cancel从未使用过,对吗?发生这种情况是因为,即使您分配了取消变量值(true 和 false),您也永远不会使用它,例如:

if (cancel) {
    System.out.printLn("Thanks for visiting Java Pizza!");
}

如果您在代码中以某种方式使用它,警告就会消失。或者,如果您将其从代码中删除,因为它本来就无用

于 2012-05-14T13:14:12.760 回答