我有一个方法填充数组的三个维度中的两个。
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();
}
}
方法和变量应该重命名,我不知道你到底在做什么