输入一个矩阵数组,输出该矩阵旋转90度后的样子,用Java
时间: 2024-10-13 10:02:51 浏览: 24
在Java中,如果你有一个二维数组表示矩阵,你可以通过创建一个新的二维数组并逆序每一行的方式来实现矩阵顺时针旋转90度。这是一个简单的例子:
```java
public class Main {
public static int[][] rotate(int[][] matrix) {
if (matrix == null || matrix.length == 0) return matrix;
int n = matrix.length;
// 创建新矩阵,大小与原矩阵交换宽和高
int[][] rotated = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
// 将原矩阵的元素放到新矩阵的对应位置(逆序行)
rotated[j][n - 1 - i] = matrix[i][j];
}
}
return rotated;
}
public static void main(String[] args) {
int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int[][] rotatedMatrix = rotate(matrix);
// 打印旋转后的矩阵
for (int[] row : rotatedMatrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
在这个代码中,`rotate`方法接受一个二维数组作为输入,然后创建一个新的数组,其长度和宽度与原始矩阵相反。接着,遍历原矩阵的每个元素,并将它们放入新矩阵的相应位置(逆序行和列)。运行这个程序会得到旋转90度后的矩阵。
阅读全文