2016-09-09 5 views
0

私は配列の3次元の2つを満たすメソッドを持っています。java:メインメソッドのメソッドから3次元配列を使用する

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

は今、私はこれらの配列の50を生成し、1つの配列にそれらをすべて保存するために、私のメインの中で、この配列を使用します。

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

私の問題は、私の主要なメソッドからの値で染色体配列に到達することができないということです。

+0

あなたは非常に奇妙にmainメソッドを使用しようとしているようです。おそらくそれを避けるべきです。 – Thibstars

+0

あなたがしたいのは、値を '返す 'ことです。自分のプロジェクトにジャンプする前にいくつかのチュートリアルを行うことをお勧めします。 thenewbostonは本当に良いビデオチュートリアルシリーズを持っています。 – flakes

+2

'static double [] [] [] =新しいdouble [50] [8] [4];' ..ここで変数はどこですか? – CKing

答えて

1

コードがコンパイルされません。メソッドはString [] []を返す必要があります。このメソッドが2次元の文字列配列のみを作成する必要がある場合、なぜ3次元のdouble配列を作成するのですか? はどのようにこの件について:あなたのメインで

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のか分かりません。

+0

ありがとうございます! – boersencrack

関連する問題