当前位置: 首页 > 知识库问答 >
问题:

线程中的异常无法读取构造函数中的值

董和泽
2023-03-14

异常在线程"main"java.lang.ArrayIndexOutOfBoundsExctive:索引0越界的长度;

    import java.util.Scanner;

//import jdk.javadoc.internal.doclets.formats.html.SourceToHTMLConverter;

class checkMatrix1 {
    int row;
    int column;
    int[][] matrix = new int[row][column];

    public checkMatrix1(int row, int column) {
        this.row = row;
        this.column = column;
    }
    public checkMatrix1() {
        this.row = 3;
        this.column = 3;
    }
}

public class test{
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.println(" Enter Row: ");
        System.out.println(" Enter Column: ");
        int row = input.nextInt();
        int column = input.nextInt();
        checkMatrix1 matrix1 = new checkMatrix1(row, column);

        for (int i = 0; i < matrix1.row; i++) {
            for (int j = 0; j < matrix1.column; j++) {
                System.out.println(matrix1.matrix[i][j]);
            }
        }
    }
}

我无法从用户那里读取构造函数中的值

共有1个答案

巫马盛
2023-03-14

首先,字段初始化器运行,然后构造函数运行。因此,如果您调用,例如,new Check Matrix(2,2);

int行

行现在是0。

int列;

列现在为0。

int[][]矩阵=new int[row][列];

矩阵现在是一个0乘0的数组。

现在我们继续讨论构造函数中的行。。

this.row=row;

这个。列=列

row和colum现在是2。但是对于new int[][]语句来说太晚了。

new int[]语句移动到构造函数中,并将默认构造函数重写为this(3,3),以避免重复此代码。

 类似资料:
  • 问题内容: 在C ++中,对象的生命周期从构造函数成功完成时开始。在构造函数内部,该对象尚不存在。 问:从构造函数发出异常是什么意思? 答:这意味着构造已失败,该物体从未存在,其寿命从未开始。[ 来源 ] 我的问题是:Java是否同样适用?例如,如果我移交给另一个对象,然后构造函数失败,会发生什么情况? 这个定义明确吗?现在是否有对非对象的引用? 问题答案: 该对象存在,但未正确初始化。 每当构造

  • 问题内容: 我最近开始学习JavaFX,并从一本使用JDK 9的书中获得了此代码。运行该程序时,出现了错误。我查看了其他代码,并尝试将’@Override’和“ throws Exception”添加到start方法中,但是出现了相同的错误。构建程序时没有错误。 如果有帮助:我正在使用JDK 11.0.2和openjfx.io的JavaFX。 错误讯息: 问题答案: 如以下文档中所述,您的课程必须

  • 更具体地说,LinkedHashMap有K=String,V=String。 从这个映射中,我可以使用映射方法map.keyset()创建一个包含节点的列表,并使用map.values()方法创建一个包含邻居的单独列表。我还可以创建String类型的数组,或者邻居的String[]类型的数组。 每个节点只能与其在LinkedHashMap中定义为值的邻居通信。 Gossip(push)协议:假设一

  • 加载YAML文件(使用SnakeYAML)时,im得到一个异常“线程中的异常”main“不能为javabean=com.java.envs@3d82c5f3创建property=envs在'reader'第1行第1列:envs:1)im做错了什么?-env应该从envs:的同一位置开始?

  • 问题内容: 嘿,我对函数的原型和固有性有疑问。您能否解释一下如何从构造函数返回arr并将此arr添加到原型中? 并且在this.arr中是未定义的。有角度的工厂以及前端和后端之间的连接 问题答案: 将异步操作放入构造函数中特别困难。这有几个原因: 构造函数需要返回新创建的对象,因此它不能返回将告诉您异步操作何时完成的承诺。 如果在构造函数内进行异步操作以设置一些实例数据,并且构造函数返回对象,则调

  • -----------这是我的文件服务---------------------我使用的是spring boot 2.2.2 -------这是我的文件控制器-------- 进程已完成,退出代码为%1