【发布时间】:2020-03-11 23:54:09
【问题描述】:
我需要在不使用 arraycopy 的情况下附加 2 个二维数组,并按顺序,首先是 arr1,然后是 arr2,如下所示:
int[][] arr1 = {{1,2},{7,9,10}};
int[][] arr2 = {{3,5,7,9},{16,10,11}};
int[][] arr3 = append(arr1,arr2);
result should be:
1 2
7 9 10
3 5 7 9
16 10 11
我试过了:
public static int[][] append(int[][] arr1, int[][] arr2) {
int [][] arr3 = new int [arr1.length + arr2.length][];
for (int i=0; i<arr1.length; i=i+1) {
for (int j=0; j<arr1[i].length; j=j+1) {
arr3[i][j] = arr1[i][j];
}
}
for (int x=arr1.length; x<arr3.length-2; x=x+1) {
int a=0;
for (int y=0; y<arr2[a].length; y=y+1) {
arr3[x][y] = arr2[a][y];
a=a+1;
}
}
return arr3;
}
但是我在行得到一个空指针异常 'arr3[i][j] = arr1[i][j];' 我能做些什么? 感谢您的帮助!
【问题讨论】:
-
您的代码有什么不符合您的预期?您目前实际上并没有问问题。请告诉我们您对什么感到困惑。
-
我忘了提到我遇到的异常,谢谢