我在初始化数组时遇到问题。当我尝试绘制数组时,出现了 NullPointerException
。
我需要访问我从另一个类声明数组的类,这就是为什么它是static
。
这是我的代码:
static int[][] DayOfTheMonth = new int[3][10];
public static void ArrayValue() {
for (int column = 0; DayOfTheMonth.length < 4; column++) {
for (int row = 10; DayOfTheMonth[column].length < 10; row++) {
if (DaysofTheMonth <= Tag.MaximumDaysOfAMonth()) {
DayOfTheMonth.[column][row] = Date.getDate() + DaysofTheMonth;
DaysofTheMonth++;
} else if (DaysofTheMonth > Tag.MaxDay()) {
DaysofTheMonth = 1;
if (Month != 12)
Month++;
else {
Month = 0;
Year++;
}
}
}
}
}
另一个问题是,当我尝试通过我的主类访问该方法时,它说:
Exception in thread "Main" java.lang.ArrayIndexOutOfBoundsException: 3
最佳答案
ArrayIndexOutOfBoundsException
声明您正在尝试访问不存在的元素和索引,
在这一行中:
for (int column = 0; DayOfTheMonth.length < 4; column++)
你已经指定去 For
循环去无限,因为长度总是小于 4 所以你需要有 column
的条件
for (int column = 0; column < DayOfTheMonth.length; column++)
所以让它循环到 3,因为它将从 0 开始并上升到 3。
还有另外一件事,第一件事是行,第二件事是列,所以你有 3 行和 10 列,虽然它只与 naming-problem
有关,但你应该清楚它.
关于java - 如何初始化一个二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56398550/