数组越界
int[][] array1 = new int;
array1 = 11;
array1 = 11;
array1 = number;
int[][] array2 = new int]];
for (int i = 0; i < array1.length; i++) {
array2]] = array1; // 这里显示数组越界了为啥,我这简单描述一下,真是不知道为啥啊,大佬帮帮我
} 问题出在循环的条件上。你的循环条件是i < array1.length ,但实际上array1的长度是number+1 ,而不是number 。因此,当i等于number时, array1是越界的。
要解决这个问题,你可以将循环条件修改为i < array1.length-1 ,这样就可以避免访问到越界的元素。修改后的代码如下:
int[][] array1 = new int;
array1 = 11;
array1 = 11;
array1 = number;
int[][] array2 = new int]];
for (int i = 0; i < array1.length-1; i++) {
array2]] = array1[ i];
}
这样修改后,循环将只会遍历array1的有效索引,不再越界。
页:
[1]