ArrayIndexOutOfBoundsException:索引3超出长度3的数组.main &g


import java.util.Scanner;
public class arrays {
public static void main(String[] args) {
int i;
int [][] m1 = new int[2][3];
int j;
Scanner sc = new Scanner(System.in);

System.out.println(m1.length);
System.out.println(m1[0].length);
for(i = 0; i < m1.length; i++){
for(j = 0; i < m1[0].length; j++) {
m1[i][j] = sc.nextInt();
}
}
sc.close();
}
}

我无法理解为什么会发生这个错误。m1。长度和m1[0]。Length打印行和列的正确长度。我给出了以下输入:

1
2
3
4

然后出现错误

你在内循环中有一个错别字,你超出了

第一轴第二轴的边界,因为i < m[0].length为真。

应该如下?

for(j = 0; j < m1[i].length; j++) {

最后我解决了这个问题,看第二个for循环,你用I代替j(在条件中)。如果使用更重要的变量名(比如line和column),就更容易发现这类错误

for(j = 0; j < m1[i].length; j++)

最新更新