-3
我试图通过BlueJ的使Java中的一个简单的程序,但是在编译时它给了我一个错误‘找不到符号 - 可变totAMTpizza’任何一个人,修复。的Java“找不到符号 - 可变totAMTpizza”
我试图通过BlueJ的使Java中的一个简单的程序,但是在编译时它给了我一个错误‘找不到符号 - 可变totAMTpizza’任何一个人,修复。的Java“找不到符号 - 可变totAMTpizza”
如果声明if
块中的变量,这只是该块内可见。在程序中声明这三个if
和else if
块内totAMTpizza
变量,所以它不是可见的外那三个blo中正。
解决方法是将声明移至外部。
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;
您应该复制并粘贴代码而不是屏幕截图。 – Anthony 2014-09-12 19:59:43
你在哪里使用该变量?它看起来像它在那些if语句中唯一定义的,并且在其他地方无法使用。 – Dave 2014-09-12 20:00:15
提出问题的错误方法是,查看Java中变量的范围。 – gd1 2014-09-12 20:00:34