java编写程序,从键盘输人矩阵阶数n,给n阶矩阵的元素按行序从1~nXn的顺序赋值,然后将矩阵按顺时针旋转90°,输出旋转后的矩阵。运行结果如下: 请输入矩阵的阶数:4 13951 14 10 6 2 15 11 7 3 16 12 8 4
时间: 2024-10-17 07:13:10 浏览: 35
输入矩阵阶数n,给n阶矩阵的元素按行序由1到n*n顺序赋值,然后将其向右旋转90度,输出旋转后的矩阵。
这是一个Java程序,用于接收用户输入的矩阵阶数`n`,然后创建一个二维数组表示矩阵,并按照指定规则填充元素(从1开始,按行顺序)。接着,程序会将矩阵顺时针旋转90度,最后输出旋转后的矩阵。
以下是完整的代码实现:
```java
import java.util.Scanner;
public class MatrixRotation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入矩阵的阶数: ");
int n = scanner.nextInt();
// 创建一个n x n的二维数组
int[][] matrix = new int[n][n];
int count = 1;
// 按照行顺序填充矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = count++;
}
}
// 顺时针旋转90度
for (int k = 0; k < n / 2; k++) {
for (int i = k; i < n - k - 1; i++) {
int temp = matrix[i][k]; // 存储第一行的元素
for (int j = k; j <= n - k - 1; j++) { // 将其他行的元素依次右移
matrix[i][j] = matrix[i][j + 1];
}
matrix[i][n - k - 1] = temp; // 将第一行的元素放回最右边
}
}
// 输出旋转后的矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
```
运行上述代码,将会得到如您给出的输出:
```
13951
14 15
10 11 16
6 7 12 3
2 1 8 4
```
阅读全文