把一维数组拆分为二维数组
- import java.util.Arrays;
- /**
- * 把一维数组拆分为二维数组。
- *
- * @author 赵学庆,Java世纪网(java2000.net)
- *
- */
- public class T {
- /**
- * 转化一维数组为二维数组。
- *
- * @param arr
- * 原始一维数组
- * @param colsize
- * 列的宽度
- * @param defaultValue
- * 默认值
- * @return 转化好的二维数组
- */
- public static int[][] transOneToTow(int[] arr, int colsize, int defaultValue) {
- int rows = (arr.length + colsize + 1) / colsize;
- int[][] arr2 = new int[rows][colsize];
- for (int row = 0; row < rows; row++) {
- for (int col = 0; col < colsize; col++) {
- if (row * colsize + col < arr.length) {
- arr2[row][col] = arr[row * colsize + col];
- } else {
- arr2[row][col] = defaultValue;
- }
- }
- }
- return arr2;
- }
- public static void main(String[] args) {
- int[] arr = { 4, 7, 3, 9, 42, 68, 37 };
- int[][] arr2 = transOneToTow(arr, 3, 0);
- for (int row = 0; row < arr2.length; row++) {
- System.out.println(Arrays.toString(arr2[row]));
- }
- }
- }
运行结果
[4, 7, 3]
[9, 42, 68]
[37, 0, 0]