我试图通过 BlueJ 在java中创建一个简单的程序。但是在编译时会给我一个“无法找到符号变量totAMTpizza ”的错误。有修复的人。
答案 0 :(得分:2)
如果在if
块内声明变量,它只能在该块内可见。在您的程序中,您在三个totAMTpizza
和if
块中声明else if
变量,因此在这三个块之外不可见。
修复方法是将声明移到外面。
int pizzaQTY = input.nextInt();
int totAMTpizza;
System.out.printf('\f');
if (pizzaSize == 1) {
int pizzaSmall = 120;
totAMTpizza = pizzaSmall * pizzaQTY;
}
else if (pizzaSize == 2) {
...
}
else if (pizzaSize == 3) {
...
}
对于它的价值,你可以在if / else条件之后移动totAMTpizza
的计算,这样你就不会重复了。
int pizzaQTY = input.nextInt();
int pizzaCost;
if (pizzaSize == 1) {
pizzaCost = 120;
}
else if (pizzaSize == 2) {
pizzaCost = 140;
}
else if (pizzaSize == 3) {
pizzaCost = 160;
}
int totAMTpizza = pizzaQTY * pizzaCost;