创建一个新的2D数组,即= 2D数组的大小1 + 2d数组的大小2(行和列)

时间:2014-02-14 23:33:01

标签: java arrays

public static int[][] add2DArrays(int[][]A, int[][]B) {
        return int[][] C;
}

我理解如何通过添加两个数组A&的总和来填充这个新数组。 B,我面临的路障是创建这个初始数组C.我们不能假设作为参数给出的数组的大小,所以这是我遇到问题的部分。

我知道这样做:

 int[][] C = new int[A.length+B.length][]; //this will only give me the # of rows;

我被困在如何为新数组中的行获取适当长度的列。我想有可能有些人如何记录A中最长行的长度,然后记录B中最长的行,并选择两者中较大的一行,但这似乎是混乱和低效的。谢谢大家的支持。

1 个答案:

答案 0 :(得分:1)

如果两者都是2D数组 - 也就是说,所有行的长度相同 - 并且实际分配了行0,则可以从A[0].length+B[0].length

如果行的长度可能不同 - 这在Java中是完全合法的 - 那么您可能需要遍历A和B以找到最长的行并使用该长度。