Java实现矩阵变换

/**
 * @Author Xiaoqiang Miao
 * @Date 2020/6/5 17:14
 * @Version 1.0
 */
public class JuZhen {
    //数组变换
    public static int [][] change(int [][] array){
        /**
         * 这个临时数组为矩阵变换后的数组
         * 矩阵为二维数组 故需要为二维数组的行和列进行赋值
         * array.length 代表原始数组的行数
         * array[0].length 代表原始数组的列数
         */
        //临时数组的行列数与原始数组行列数交换
        int [][] temp = new int [array[0].length][array.length];
        int dst = array.length - 1;
        for (int i = 0; i < array.length; i++, dst--){
            for (int j = 0; j < array[0].length; j++){
                temp[j][dst] = array[i][j];
            }
        }
        return temp;
    }
    //数组打印
    public static void print(int[][] array){
        for (int i = 0; i < array.length; i++){
            for (int j = 0; j < array[0].length; j++){
                System.out.print(array[i][j] + "   ");
            }
            System.out.println();
        }
    }
    public static void main(String [] args){
        /**
         * 数组中数组下标是从0开始的,但是定义数组个数确实从1开始的
         * 想想实际情况也应该知道这个事啊,数组中如果没有一个元素
         * 那这个数组的意义何在
         */
        //数组声明
        int [][] array = new int[3][4];
        //数组赋值
        array[0][0] = 1;
        array[0][1] = 2;
        array[0][2] = 3;
        array[0][3] = 4;
        array[1][0] = 5;
        array[1][1] = 6;
        array[1][2] = 7;
        array[1][3] = 8;
        array[2][0] = 9;
        array[2][1] = 10;
        array[2][2] = 11;
        array[2][3] = 12;
        System.out.println("数组变换前为:");
        print(array);
        System.out.println("矩阵变换后为:");
        int [][] temp = change(array);
        print(temp);
    }
}

你可能感兴趣的:(矩阵变换,java)