Java 线程中的异常无法读取构造函数中的值
线程主线程java.lang.ArrayIndexOutOfBoundsException中的异常:索引0超出长度界限Java 线程中的异常无法读取构造函数中的值,java,exception,Java,Exception,线程主线程java.lang.ArrayIndexOutOfBoundsException中的异常:索引0超出长度界限 我无法从用户读取构造函数中的值。首先,字段初始值设定项运行,然后构造函数运行。所以,如果你调用,比如说,新的checkMatrix2,2 int行 行现在为0 int列 列现在为0 int[][]矩阵=新int[行][列] 矩阵现在是一个0乘0的数组 现在我们转到构造函数中的行 this.row=行 this.column=列 row和colum现在是2。但是对于新的int[]
我无法从用户读取构造函数中的值。首先,字段初始值设定项运行,然后构造函数运行。所以,如果你调用,比如说,新的checkMatrix2,2 int行 行现在为0 int列 列现在为0 int[][]矩阵=新int[行][列] 矩阵现在是一个0乘0的数组 现在我们转到构造函数中的行 this.row=行 this.column=列 row和colum现在是2。但是对于新的int[][]语句来说太晚了
将新的int[]语句移动到构造函数中,并将默认构造函数重写为this3,3,以避免重复此代码。首先运行字段初始值设定项,然后运行构造函数。所以,如果你调用,比如说,新的checkMatrix2,2 int行 行现在为0 int列 列现在为0 int[][]矩阵=新int[行][列] 矩阵现在是一个0乘0的数组 现在我们转到构造函数中的行 this.row=行 this.column=列 row和colum现在是2。但是对于新的int[][]语句来说太晚了
将新的int[]语句移动到构造函数中,并将默认构造函数重写为this3,3,以避免重复此代码。在哪一行发生此错误?int[][]矩阵=新int[行][列];这不受发送给构造函数的内容的影响,因此它始终为空。可能不是你肆意的什么,那会发生什么样的错误?int[][]矩阵=新int[行][列];这不受发送给构造函数的内容的影响,因此它始终为空。可能不是你想要的
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]);
}
}
}
}