lyn*_*vie 3 java variables loops
我有一段令我困惑的代码.我在if/else语句中定义了一个整数数组,因为数组的长度取决于方法的2个输入的长度.我的问题是在if/else语句之外,变量定义似乎丢失了.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是在String result = Arrays.toString(output);Eclipse告诉我output无法解析为变量的语句中.
...顺便说一下,是的,我知道这不是添加两个整数数组的方法 - 我从更复杂的代码中减少了这个来演示问题!
output在if声明之前定义.像这样:
int[] output;
int L1 = arg1.length;
int L2 = arg2.length;
if (L1 > L2) {
output = new int[L2];
for (int i = 0; i < L2; i++) {
output[i] = arg1[i] + arg2[i];
}
} else {
output = new int[L1];
for (int i = 0; i < L2; i++) {
output[i] = arg1[i] + arg1[i];
}
}
String result = Arrays.toString(output);
return result;
}
Run Code Online (Sandbox Code Playgroud)
当你output在if语句中声明它只是只有那个块范围.
| 归档时间: |
|
| 查看次数: |
7245 次 |
| 最近记录: |