import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int row=in.nextInt();
int column=in.nextInt();
Matrix a=new Matrix(row,column);
for(int i=0;i<row;i++)
for(int j=0;j<column;j++)
a.entry[i][j]=in.nextFloat();
}
}
class Matrix{
int row,column;
Matrix(int a,int b){
row=a;
column=b;
}
float[][] entry=new float[row][column];
}
我尝试设置二维数组条目
的大小,但它始终设置为零。
它给了我一个运行时错误 - 第 13 行数组索引超出范围:
a.entry[i][j]=in.nextInt();
最佳答案
问题是当你直接这样做时:
float[][] entry=new float[row][column];
在Matrix
类中,它的row
和column
变量之前被初始化为0
。 entry
的定义放在构造函数之后并不重要,因为所有字段定义都在构造函数之前执行。
我们需要将用户的行
和列
传递给Matrix
类。
在Matrix
类的构造函数中初始化entry
,如下所示:
class Matrix{
int row,column;
float[][] entry;
Matrix(int a,int b){
row=a;
column=b;
entry=new float[row][column];
}
}
关于java - 设置java中主类中一个类中数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51907411/