求助: java.lang.ArrayIndexOutOfBoundsException: 6 错误

来源:百度知道 编辑:UC知道 时间:2024/05/31 12:03:51
Scanner Scan= new Scanner(System.in);
int [][] arr= new int[6][6];

System.out.print("enter 1");
int r = Scan.nextInt();
System.out.print("enter 2");
int c = Scan.nextInt();

if (r < arr.length- 1){
for (int b = r ; b < arr.length ; b++){
if(arr[r+1][c] == 0){
break;
}
if(arr[r+1][c] == board[r][c]){
break;
}
if((arr[b+1][c] == arr[r][c]) && (arr[b][c] != 0)){ <---------203行
for (int be = r+1; be < b+1; be++){
arr[be][c] = board[r][c];
}
break;
}
}
}

当我输入r=2 c=1时
它说java.lang.ArrayIndexOutOfBoundsException: 6
at java.main<java1.java:203>
出了什么问题?

在for (int b = r ; b < arr.length ; b++){
中,b可取到的最大值是arr.length-1,然后在
if((arr[b+1][c] == arr[r][c]) && (arr[b][c] != 0)){ <---------203行
中,arr[b+1]的下标取到了arr.length。。。。

数组越界了!

b+1数组越界了,当r=5时