Java 在类构造函数中创建数组

Java 在类构造函数中创建数组,java,arrays,Java,Arrays,我正在尝试用两个数组创建一个类,其中一个数组包含城市之间的距离矩阵,另一个数组具有标识符以知道哪些城市,但是在构造函数之前我不知道数组的大小,然而,当我尝试在构造函数中创建它时,我得到一个错误 赋值的左侧必须是变量 我的代码: public class Distances{ static int distancesArray[][]; static Distance distanceIdentifiers[]; static int ammountOfBreweries

我正在尝试用两个数组创建一个类,其中一个数组包含城市之间的距离矩阵,另一个数组具有标识符以知道哪些城市,但是在构造函数之前我不知道数组的大小,然而,当我尝试在构造函数中创建它时,我得到一个错误

赋值的左侧必须是变量

我的代码:

public class Distances{
    static int distancesArray[][];
    static Distance distanceIdentifiers[];
    static int ammountOfBreweries = 0;

    public Distances(int size) {
         distancesArray[][] = new int[size][size];
         distanceIdentifiers[] = new Brewerie[size];        
    }
}

您是否尝试过,只需删除
[]

public Distances(int size) {
     distancesArray = new int[size][size];
     distanceIdentifier = new Brewerie[size];        
}

这是正确的方法

在数组初始化时,不必使用[][]符号

public class Distances{
    static int distancesArray[][];
    static Distance distanceIdentifiers[];
    static int ammountOfBreweries = 0;

    public Distances(int size) {
         distancesArray = new int[size][size];
         distanceIdentifiers = new Brewerie[size];        
    }
}

你知道,对吧,每次你实例化一个
distance
时,
distancesArray
,对所有实例来说都是
static
?我不知道,但是这个类只会使用一次,所以在这种情况下这不是问题。@atilas1但将来可能会成为问题,我建议您将字段设置为非静态。对于非静态元素,我遇到的问题是,每当我尝试使用一个字段时,都会出现错误“无法对非静态字段进行静态引用”