java - 设置java中主类中一个类中数组的大小

标签 java arrays

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类中,它的rowcolumn变量之前被初始化为0entry 的定义放在构造函数之后并不重要,因为所有字段定义都在构造函数之前执行。

我们需要将用户的传递给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/

相关文章:

java - 字符串数组如何存储数组?

arrays - 我想从 odata url 中提取 JSON 文件中存在的数据,但无法使用循环提取内容

java - 如何达到其他级别深度的 json 值?

java - 从 ASP 转换的 JSON 日期 - 需要转换为 Java

java - AggregationResults 类型转换 MongoDB + Spring 数据 + 聚合

java - JPA : Auto Increment ID with Oracle Database

c++ - 将数据存储到多维数组中

c++ - 将整数放入数组 C++

c# - 用于查找所有2的C#数组

java - 如何在 JSP 中将值插入数据库以进行 derby?