java - 如何初始化一个二维数组?

标签 java eclipse

我在初始化数组时遇到问题。当我尝试绘制数组时,出现了 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/

相关文章:

java - Tomcat 只允许我下载 servlet

java - Eclipse - 构建功能项目

java - 操纵发送到监视器的信号

java - 如何找出正在运行的 AsyncTask?

java - 有没有办法停止 NetBeans 扫描项目?

java - Android框架修改后的不匹配Dep签名

java - 无法通过 class.forName ("com.mysql.jdbc.Driver"加载类 com.mysql.jdbc.Driver )

java - Struts 没有调用我的 servlet。我究竟做错了什么?

eclipse - 自动扩展Eclipse搜索结果中的所有内容

java - 如何在 Internet 上部署我的动态 Web 项目