2017-10-03 25 views
-1

に追加するのリストを最終的に2D arrayに追加する際に問題があります。最後の2D配列の2次元配列をJavaの

問題文:私はこのフォームの最後の2次元配列たい

array1 = {{0,0}, 
      {0,1}}; 

array2 = {{0,1}, 
      {0,2}}; 

final_array = {{0,0,0,1}, 
       {0,1,0,2}}; 

をそして、それはいけない

私は2 2D arraysしている場合サイズに依存する。それはまた、異なるサイズでも動作するはずです。以下のように:どのように私は追加のこの種を達成することができます

import java.util.*; 
class Main { 
    public static void main(String[] args) { 
    int[][] a = {{0,0}, 
         {0,0}}; 
    int[][] b = {{0,1}, 
         {0,1}}; 
    String array1_str = Arrays.deepToString(a); 
    String array2_str = Arrays.deepToString(b); 
    System.out.println(Arrays.deepToString(append(a, b))); 

    } 

    public static int[][] append(int[][] a, int[][] b) { 
     int[][] result = new int[a.length + b.length][]; 
     System.arraycopy(a, 0, result, 0, a.length); 
     System.arraycopy(b, 0, result, a.length, b.length); 
     return result; 
    } 
} 

array1={{0,0}, 
     {0,0}}; 

array2={{0,1}, 
     {0,2}}; 

array3={{1,0}, 
     {1,1}}; 

array4={{0,3}, 
     {1,4}}; 

final_array = {{0,0,0,1,1,0,0,3}, 
       {0,0,0,2,1,1,1,4}}; 

私は達成するために、以下のが、私は望ましい結果を得ていないのですが試してみましたか?

+0

:私たちを見ますあなたがこれまでに試したことは何ですか? – dave

+0

更新された質問@dave – XoXo

+0

@Hirenあなたのコードはどのような結果を今あなたに与えていますか? – Brian

答えて

0

2D ArrayListとListはjava.utilで使用できます。あなたは、2D-配列をループ、リストは配列リストに追加し記入し、2行目のためにそれを行うことができますなど

あなたが好きな試みることがあります。いつものようにSO

List<List<Integer>> finalArray = new ArrayList<List<Integer>>(); 

// loop through the first row of arrays and fill the list 
// long form of loop statement 
List<Integer> row = new ArrayList<Integer>(); 
row.add(array1_str[0][0]); 
row.add(array1_str[0][1]); 
row.add(array2_str[0][0]); 
row.add(array2_str[0][1]); // ... 
finalArray.add(row); 

System.out.println(Arrays.deepToString(finalArray.toArray())); 
+0

問題を解決する一般的な方法はありますか? – XoXo

+1

@Hiren宿題のポイントはアウトだと分かると思う。 – Brian