【发布时间】:2020-04-14 16:32:00
【问题描述】:
我有一个二维数组,我的目标是打印二维数组的总长度。但是,我收到此代码的错误。在 for 循环头中,编译器无法识别名称“数组”并建议我使用该名称创建一个局部变量。
我已经尝试在 for 循环之前计算 1d arrays.length,但这也不起作用,因为编译器仍然无法识别名称“arrays”
int[][] arrays = { {2, 5, 3, 8, 5},
{3, 5, 1, 7, 2},
{ 6, 2, 8, 1}};
}
int Length = 0;
for (int i= 0; i< arrays.length; i++) {
Length += arrays[i].length;
}
【问题讨论】:
-
在这里,您在
int Length = 0;之前添加了额外的括号,这就是它给出错误的原因,因为在使用该数组之前函数范围已关闭。因此,请在您有任何问题时检查此内容 -
@AnkitPrajapati 是对的,由于额外的括号,它的代码块在 int Length=0 之前被关闭;并且编译器假设较低的代码在不同的范围内