2017-03-13 29 views
0

私はこの四半期を通して学んだことをすべて踏まえ、私が本当に把握していないと感じたトピックを再学習します。それらの1つは、以前の2Dアレイの情報を格納する第3の2Dアレイを追加するというコンセプトでした。2つの2Dアレイがある場合、それらを第3の2Dアレイに追加してください

私がいた。この四半期末までに知っておくべきものの具体的な声明:

「2次元配列を考えると、三次元配列にそれらを追加し、」ここで

はこれを行うには、私の試みです。

public static void main (String[] args){ 
int [] [] arrayOneTwoD= {{5,4,3,2,1},{1,2,3,4,5}}; 
     int [] [] arrayTwoTwoD={{9,8,7,6,5},{5,6,7,8,9}}; 
     int [][] thirdArray= new int [4][4]; 

thirdArray(arrayOneTwoD,arrayTwoTwoD,thirdArray); 
} 

public static void thirdArray (int [][] arrayOneTwoD, int [][] arrayTwoTwoD, int [] []thirdArray){ 

     for(int i = 0; i < 3; ++i) { 
      for(int j = 0; j < 3; ++j) { 
       thirdArray[i][j] = arrayOneTwoD[i][j] + arrayTwoTwoD[i][j]; 
      } 
     } 
    } 

私は、スタックオーバーフロー上の回数をこのトピックを検索するが、何ものみ別に1つの2次元配列から三次元配列に印刷するためにアップしていません。

私は間違っていますか?

+0

私は4つの1Dアレイをすべて3番目の2Dアレイに追加する必要があると思います – mike

+0

途中でエラーが発生する可能性があります。それはループ1の条件のためです。 3行ではなく2行しかありません... –

答えて

0

あなたはこのような何かを行う必要があります。

public static void main (String[] args){ 
    int [][] arrayOneTwoD= {{5,4,3,2,1},{1,2,3,4,5}}; 
    int [][] arrayTwoTwoD={{9,8,7,6,5},{5,6,7,8,9}}; 
    int [][] thirdArray = thirdArray(arrayOneTwoD,arrayTwoTwoD); 
} 

public static int[][] thirdArray(int[][] arrayOneTwoD, int[][] arrayTwoTwoD){ 
    // assuming both arrays have the same dimensions 
    int[][] thirdArray = new int[arrayOneTwoD.length][arrayOneTwoD[0].length]; 
    for(int i = 0; i < arrayOneTwoD.length; ++i) { 
     for(int j = 0; j < arrayOneTwoD[0].length; ++j) { 
      thirdArray[i][j] = arrayOneTwoD[i][j] + arrayTwoTwoD[i][j]; 
     } 
    } 
    return thirdArray; 
} 

あなたは第三次元配列を初期化するときに代わりにハードコード値の追加している配列の大きさを把握することをお勧めします。 forループで反復処理を行う場合は、これらのディメンションも必要です。追加する2つの2D配列が異なる次元である場合、その答えはもう少し複雑になります。

関連する問題