按列java填充2D数组

时间:2016-01-25 01:12:00

标签: java arrays

我有10个2D阵列,它们是7x5,每个都代表一个存储RGB值平均值的图像。我现在想要将存储35个值的这些数组中的每一个复制到大小为35x10的2D数组中,但是我想按列存储每个数组,即。将第一个2D数组复制到35x10数组的第一列,因此每列垂直存储其中一个图像。

所以我试图将这些2D数组中的每一个存储在同一个2D数组中的不同列中:

图片1:

0 27 38 40 0 
67 80 85 97 94 
90 82 84 110 119 
99 66 117 116 115 
111 93 82 122 149 
119 106 102 133 123 
0 52 72 58 0 

图片2:

0   0 
34  27
40  38
50  40
0   0 
91  67
55  80
60  85
64  97
102 94
....

期望的输出:

public static void populateArray() {
    for (int r = 0; r < image1.length; r++) {
        for (int c = 0; c < image1[r].length; c++) {
            pixArray[r][c] = image1[r][c];
        }
    }

    System.out.println("\n");
    for (int r = 0; r < image2.length; r++){
      for(int c=0;c < image2[r].length;c++){
        pixArray[r][c+1]=image2[r][c];

      }
    }

    for (int i = 0; i < pixArray.length; i++) {
        for (int j = 0; j < pixArray[i].length; j++) {
            System.out.print(pixArray[i][j] + " ");
        }
        System.out.println();
    }

    }
}

这是我到目前为止的代码:

shared_ptr

1 个答案:

答案 0 :(得分:1)

你必须做这样的事情

 for (int r = 0; r < image1.length; r++) {
    for (int c = 0; c < image1[r].length; c++) {
        pixArray[r*image1[0].length+c][0] = image1[r][c];
    }
}

 for (int r = 0; r < image2.length; r++) {
    for (int c = 0; c < image2[r].length; c++) {
        pixArray[r*image2[0].length+c][1] = image2[r][c];
    }
}