📜  将矩阵旋转 180 度的Java程序(1)

📅  最后修改于: 2023-12-03 14:53:54.290000             🧑  作者: Mango

将矩阵旋转 180 度的 Java 程序

本程序将输入的矩阵进行 180 度旋转后输出,是一个轻巧的实用工具,非常适合需要编写批量处理矩阵的程序员使用。

使用方法

将以下代码粘贴至您的 Java 代码文件中,即可开始使用:

public static int[][] rotateMatrix(int[][] matrix) {
    int row = matrix.length;
    int col = matrix[0].length;

    int[][] newMatrix = new int[row][col];
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            newMatrix[row - i - 1][col - j - 1] = matrix[i][j];
        }
    }
    return newMatrix;
}

将需要处理的矩阵作为参数传入 rotateMatrix() 方法中,方法将返回旋转后的新矩阵。

程序说明
输入格式

程序接受的矩阵为一个二维数组 matrix,格式为:

int[][] matrix = {
    {a11, a12, a13, ...},
    {a21, a22, a23, ...},
    {a31, a32, a33, ...},
    ...
};

其中 aij 即为矩阵的第 i 行第 j 列元素。

输出格式

程序返回的矩阵为一个二维数组 newMatrix,格式与输入矩阵相同。

程序实现

程序实现的核心代码为:

for (int i = 0; i < row; i++) {
    for (int j = 0; j < col; j++) {
        newMatrix[row - i - 1][col - j - 1] = matrix[i][j];
    }
}

该代码通过遍历原矩阵,并将每一个元素赋值给旋转后的新矩阵对应位置,实现了矩阵的旋转。

示例

以下为示例代码,演示了如何使用本程序将一个 $3 \times 3$ 矩阵旋转 180 度:

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
int[][] newMatrix = rotateMatrix(matrix);
// 输出新矩阵
for (int[] row : newMatrix) {
    for (int num : row) {
        System.out.print(num + " ");
    }
    System.out.println();
}

程序将输出以下内容:

9 8 7 
6 5 4 
3 2 1 
注意事项

本程序适用于 $n \times n$ 的正方形矩阵旋转,对于 $m \times n$ 的长方形矩阵,可先将其转化为 $n \times n$ 的正方形矩阵再进行旋转处理。

本程序保留了输入矩阵的原地址,在返回的新矩阵中修改了原地址的值,因此输入矩阵会同时被修改,使用前请确保已备份原矩阵。