我需要一个给定输入二维数组{{1,2},{3,4}}和(int)row = 2的方法; (int)列= 3,将产生级联的二维数组{{1,2,1,2,1,2} {3,4,3,4,3,4}}。2D Array Concatenation
我的尝试是使用嵌套for循环来水平和垂直扩展它们,但不成功。这是我到目前为止有:
int row = 2;
int column = 5;
int count = 0;
int[][] list = {{12,3},{3,4}};
int [][] renewed = new int[row*list.length][column*list[0].length];
for (int l = 0; l<list.length; l++) {
for (int k = 0; k<renewed.length; k+= list.length) {
renewed[l+k] = list[l];
}
}
System.out.println(Arrays.deepToString(renewed));
}
}
^这就产生名单[] []放大纵,第一列
int row = 2;
int column = 4;
int[][] list = {{12,3},{3,4}};
int [][] renewed = new int[row*list.length][column*list[0].length];
for (int i = 0; i<list[0].length; i++) {
for (int j = 0; j<renewed[0].length; j+=list[0].length) {
renewed[0][j+i] = list[0][i];
}
}
System.out.println(Arrays.toString(renewed[0]));
}
^这就产生名单[] []扩建水平,为第一排;
那么我怎样才能连接这两种方法,以产生一种方法,扩大水平和垂直两个?
输入3将如何生成大小为5的数组? –
我只是测试了不同的值。您可以忽略我使用的特定值,因为我正在寻找一个通用答案,而不是针对此特定数组定制的一个答案。 –
但这并没有帮助实际解决问题。你想如何精确修改原始数组? –