在java中,是否有一种预定义的方法通过给定数量的带有数字的行和列来填充数组
如何在java中padarray,即使用给定的数字前后向现有数组添加行和列 例如:在java中,是否有一种预定义的方法通过给定数量的带有数字的行和列来填充数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,如何在java中padarray,即使用给定的数字前后向现有数组添加行和列 例如: let x = 1 2 3 4 5 6 7 8 9 现在,我们要在下面两行和两列中添加0: x = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 0 0 0 0 4 5 6 0 0 0 0 7 8 9 0 0 0 0 0 0 0 0 0
let x = 1 2 3
4 5 6
7 8 9
现在,我们要在下面两行和两列中添加0:
x = 0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 1 2 3 0 0
0 0 4 5 6 0 0
0 0 7 8 9 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
因此,我想知道,在java中是否有一种现有的方法或方法可以做到这一点,就像在matlab中一样,使用名为
padarray(x,[r,c])
的预定义方法,您根本无法向二维数组添加行或列。数组的大小是固定的。您可以使用动态数据结构,例如List
您还可以使用该方法创建一个新数组(比当前数组大或小)
您的数组x
如下所示:
int[][] x = new int[][]{{1,2,3}, {4,5,6}, {7,8,9}};
据我所知,没有一个线性程序可以将其转换为所需的格式。您必须创建一个方法来创建一个新的二维数组,并将您的值放置在正确的索引处。以下是一些代码,用于获取您想要填充的二维数组、您想要填充的内容以及围绕数组的焊盘数量(您的将是2,因为您希望数组周围有2层0)
public static int[]]padArray(int[]]arr、int padWith、int numOfPads){
int[][]temp=new int[arr.length+numopad*2][arr[0]。length+numopad*2];
对于(int i=0;i
public static int[][] padArray(int[][] arr, int padWith, int numOfPads) {
int[][] temp = new int[arr.length + numOfPads*2][arr[0].length + numOfPads*2];
for (int i = 0; i < temp.length; i++) {
for (int j = 0; j < temp[i].length; j++) {
temp[i][j] = padWith;
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
temp[i+numOfPads][j+numOfPads] = arr[i][j];
}
}
return temp;
}