【发布时间】:2012-05-21 19:48:00
【问题描述】:
未读取 (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;
}
【问题讨论】:
-
名为
cancel的boolean仅分配给,从不读取。它的目的是什么?您是否在其他地方有另一个名为cancel的boolean并且不小心重新声明了它,隐藏了另一个? -
double是比萨数量的一个真正奇怪的选择。您的客户可以订购 1.2 个披萨吗? -
为什么是布尔型取消??,以及比萨斯Left2 是什么?是进入第一个if 吗?顺便说一句,你声明取消,在'if' 内
-
@Mat 对不起,这只是一个错字