JAVA:2D数组简单代码,但OutOfBounceException

时间:2016-11-18 14:46:55

标签: java arrays

我拔出了头发。这很简单,我仍然不明白为什么我一直得到一个OutOfBounceException。我只是创建了一个长度和宽度为3的整数数组。在我看来,这应该包括位置{0123} {0123}。所以p [3] [3]应该完全可以访问。

PS:我试图自己解决这个问题,但我似乎无法解决这个问题。

int[][] p = new int[3][3];
p[3][3] = 3;
System.out.println((p[3][3] == 3));



Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
    at test.main(test.java:3)

2 个答案:

答案 0 :(得分:1)

当您声明一个数组时,几乎每种语言中您定义的大小都是它将具有的元素数量。

所以说java int[][] p = new int[3][3];。就像你说的,这将有3'行'和3'列',但你必须从0开始索引它们。即:

ROW1

p[0][0]; // column1
p[0][1]; // column2
p[0][2]; // column3

行2

p[1][0]; // column1
p[1][1]; // column2
p[1][2]; // column3

ROW3

p[2][0]; // column1
p[2][1]; // column2
p[2][2]; // column3

答案 1 :(得分:-1)

如果声明索引的大小不是从0开始,但如果要访问它,则从0开始。因此,最大可访问单元格为[2,2],min为[0,0]