1

(cancel1 = 2) ブール値の「cancel」が読み取られないコードの部分:

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正しく使用されていないと不平を言っていますか? これは、cancel 変数の値 (true と false) を割り当てている場合でも、次のように使用していないために発生します。

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

コードで何らかの方法で使用すると、警告は消えます。または、コードからそれを削除すると、そのままでは役に立たないため

于 2012-05-14T13:14:12.760 に答える