用java实现矩阵顺时针旋转90度(二维数组)
时间: 2024-10-08 16:20:05 浏览: 69
java旋转二维数组实例
在Java中,我们可以使用双重循环来实现矩阵(二维数组)的顺时针旋转90度。这里是一个简单的方法:
```java
public class MatrixRotation {
public void rotateMatrix(int[][] matrix) {
if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
return; // 空矩阵或尺寸为0的情况直接返回
}
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]; // 将原矩阵的元素按顺时针旋转放置到新矩阵
}
}
// 打印新矩阵表示旋转完成
for (int[] row : rotated) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
这个`rotateMatrix`方法首先检查输入矩阵的有效性,然后创建一个新的矩阵`rotated`用于存储结果。接着,它遍历原矩阵,将每个元素按照顺时针方向复制到新矩阵的相应位置。
你可以像这样使用这个方法:
```java
MatrixRotation rotation = new MatrixRotation();
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
rotation.rotateMatrix(matrix);
```
阅读全文