java:在main方法

时间:2016-09-09 14:07:51

标签: java arrays multidimensional-array

我有一个方法,它填充数组的三个维度中的两个。

public static String[][] Method(){
    double[][][] chromosom = new double [50][8][4];
    for(int j = 0; j < 8; j++){

        // generate random value ...

        chromosom[0][j][0] = value*2;
        chromosom[0][j][1] = value*3;
        chromosom[0][j][2] = value*5;
        chromosom[0][j][3] = value*9;
    }
}

现在我想在我的main中使用这个数组来生成50个这样的数组并将它们全部保存在一个数组中。

static double[][][] chromosom = new double [50][8][4];

public static void main(String[] args){
    for(int i = 0; i < 50; i++){
        Method();
        for(int j = 0; j < 8; j++){
            chromosom[i][j][0];
            chromosom[i][j][1];
            chromosom[i][j][2];
            chromosom[i][j][3];
        }
    }
}

我的问题是我无法使用我的main方法中的值来到达chromosom数组。

1 个答案:

答案 0 :(得分:1)

您的代码无法编译。你的方法应该返回一个String [] []。如果此方法只应创建一个二维String数组,为什么要创建三维双数组? 怎么样:

public static double[][] generateXY(){
    double[][] result = new double[8][4];
    for(int j = 0; j < 8; j++){

        // generate random value ...

        result[j][0] = value*2;
        result[j][1] = value*3;
        result[j][2] = value*5;
        result[j][3] = value*9;
    }
    return result;
}

然后在你的主要:

public static void main(String[] args){
    double[][][] xyz = new double[50][8][4];
    for(int i = 0; i < 50; i++){
        xyz[i] = generateXY();
    }
}

方法和变量应该重命名,我不知道你用它做了多少exaclty。