我有一段令我困惑的代碼。我在if/else語句中定義了一個整數數組,因爲數組的長度取決於方法的2個輸入的長度。我的問題是,在if/else語句之外,變量定義似乎丟失了。在循環內部定義的Java變量似乎無法在循環外部識別出來?
import java.util.Arrays;
public class test {
public String AddArrays(int [] arg1, int [] arg2) {
int L1 = arg1.length;
int L2 = arg2.length;
if (L1 > L2) {
int[] output = new int[L2];
for (int i = 0; i < L2; i++) {
output[i] = arg1[i] + arg2[i];
}
} else {
int[] output = new int[L1];
for (int i = 0; i < L2; i++) {
output[i] = arg1[i] + arg1[i];
}
}
String result = Arrays.toString(output);
return result;
}
}
我得到的錯誤是在Eclipse的地方告訴我,output
不能被解析爲一個變量的聲明String result = Arrays.toString(output);
。
...順便說一下,是的,我知道這不是添加兩個整數數組的方法 - 我從更復雜的代碼中減少了這個來演示問題!
http://www.java-made-easy.com/variable-scope.html – madhead
我同意。按設計工作。不是一個真正的問題。 – EJP