Java:在main方法中使用3d数组



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

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];
        }
    }
}

我的问题是,我无法达到染色体数组的值从我的主要方法。

您的代码无法编译。你的方法应该返回一个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;
}

然后在main中:

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

方法和变量应该重命名,我不知道你到底在做什么

相关内容

  • 没有找到相关文章

最新更新