-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