要将一维数组转换成二维数组,首先要确定二维数组的行数和列数。然后遍历一维数组,依次将数据放入二维数组中。
以下是Java编程的一维数组转换成二维数组实例代码的完整攻略:
确定二维数组的行数和列数
如果已知数据的行数和列数,可以直接使用静态初始化的方式创建二维数组。例如,以下代码创建了一个 3 行 4 列的二维数组:
int[][] array = new int[3][4];
如果不知道数据的行数和列数,可以根据一维数组的长度动态创建二维数组。可以使用以下公式:
- 行数 = 一维数组长度 / 列数
- 如果一维数组长度 % 列数 不等于 0,行数需要加 1
例如,以下代码中,一维数组 a 的长度为 10,列数为 3,所以行数为 4(10 / 3 = 3,余数为 1):
int[] a = {1,2,3,4,5,6,7,8,9,10};
int column = 3;
int row = a.length / column;
if (a.length % column != 0) {
row++;
}
int[][] array = new int[row][column];
遍历一维数组,依次将数据放入二维数组中
遍历一维数组,从第一个元素开始,依次将元素放入二维数组中。可以使用以下公式将一维数组的元素放入二维数组中:
- 二维数组的行号 = 当前元素的下标 / 列数
- 二维数组的列号 = 当前元素的下标 % 列数
例如,以下代码将一维数组 a 转换成一个 4 行 3 列的二维数组:
int[] a = {1,2,3,4,5,6,7,8,9,10};
int column = 3;
int row = a.length / column;
if (a.length % column != 0) {
row++;
}
int[][] array = new int[row][column];
for (int i = 0; i < a.length; i++) {
int rowIndex = i / column;
int columnIndex = i % column;
array[rowIndex][columnIndex] = a[i];
}
示例说明
以下是两条示例说明:
示例 1:
将一维数组 {1,2,3,4,5,6,7,8,9,10} 转换成一个 3 行 4 列的二维数组。
int[] a = {1,2,3,4,5,6,7,8,9,10};
int row = 3;
int column = 4;
int[][] array = new int[row][column];
for (int i = 0; i < a.length; i++) {
int rowIndex = i / column;
int columnIndex = i % column;
array[rowIndex][columnIndex] = a[i];
}
输出结果:
1 2 3 4
5 6 7 8
9 10 0 0
示例 2:
将一维数组 {1,2,3,4,5,6,7,8,9} 转换成一个 3 行 3 列的二维数组。
int[] a = {1,2,3,4,5,6,7,8,9};
int column = 3;
int row = a.length / column;
if (a.length % column != 0) {
row++;
}
int[][] array = new int[row][column];
for (int i = 0; i < a.length; i++) {
int rowIndex = i / column;
int columnIndex = i % column;
array[rowIndex][columnIndex] = a[i];
}
输出结果:
1 2 3
4 5 6
7 8 9
以上就是Java编程的一维数组转换成二维数组实例代码的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java编程一维数组转换成二维数组实例代码 - Python技术站