我有一个方法,它填充数组的三个维度中的两个。
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数组。
答案 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。