Java"找不到符号变量totAMTpizza'

时间:2014-09-12 19:57:18

标签: java bluej

我试图通过 BlueJ 在java中创建一个简单的程序。但是在编译时会给我一个“无法找到符号变量totAMTpizza ”的错误。有修复的人。

1 个答案:

答案 0 :(得分:2)

如果在if块内声明变量,它只能在该块内可见。在您的程序中,您在三个totAMTpizzaif块中声明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;