例如,如果我寫這樣的代碼:爲什麼我不能在開關中使用相同的變量?
double result = 0;
switch (operation) {
case "divide":
double result = (double) first/second;
string = Double.toString(result);
break;
case "multiply":
double result = (double) first * second;
string = Double.toString(result);
break;
case "substract":
double result = (double) first - second;
string = Double.toString(result);
break;
case "add":
double result = (double) first + second;
string = Double.toString(result);
break;
}
它返回錯誤:可變「結果」在範圍已定義。
我知道如何解決這個問題。我可以在每種情況下創建一個不同的變量,但是這樣會通過必須爲每個變量編寫代碼來延長代碼長度。
如何使這項工作在給定的代碼中書寫?
你可以像'案「鴻溝」括號包裝每個案例:{...}'等等給每個情況下,它自己的範圍 – daco
我只是想這樣做,但它不能解決問題。它仍然報告相同的錯誤。 – Leonz
http://ideone.com/L2wu9I – Selvin