根据用户输入方阵阶数, 按顺时针方向从 1 开始旋转打印出方阵, 引用 Scanner 类 提示用户输入方阵阶数, 使用二层循环打印出方阵。

根据用户输入方阵阶数, 按顺时针方向从 1 开始旋转打印出方阵,
引用 Scanner 类 提示用户输入方阵阶数, 使用二层循环打印出方阵。
import java.util.Scanner;
public class Huizhuan {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int i=0,j,k;
System.out.println(“请输入n阶方阵”);
int n=input.nextInt();
int [][]a =new int[n][n];
a[0][0]=0;
int m=0;
for( k=0;k<(n+1)/2;++k) {
for(j=k;j<n-1-k;j++) {
m+=1;
a[k][j]=m;
}
for(i=k;i<n-1-k;i++) {
m+=1;
a[i][j]=m;
}
for(j=n-1-k;j>k;j–) {
m+=1;
a[i][j]=m;
}
for(i=n-1-k;i>k;i–) {
m+=1;
a[i][j]=m;
}
}
if(n%2==1) a[n/2][n/2]=n*n;
for(i=0;i<n;i++) {
for(j=0;j<n;j++) {
if(a[i][j]<10) {
System.out.print(" “+a[i][j]+” “);
}
else if(a[i][j]<100) {
System.out.print(” “+a[i][j]+” “);
}
else
System.out.print(a[i][j]+” “);
}
System.out.println(” ");
}
}
}

编写Java程序实现回形方阵,首先需要了解回形矩阵的基本结构。它是一个对称的矩阵,从中心开始,每一行和每一列的元素都是交替递增和递减的。以下是简单的步骤: 1. 创建一个二维数组来存储矩阵。 2. 获取用户输入方阵阶数n。 3. 使用嵌套循环遍历数组并填充值。对于奇数阶数,从中心开始向外填充;对于偶数阶数,从两个对角线的中心开始。 4. 输出填好值的矩阵。 下面是一个简单的Java示例代码: ```java import java.util.Scanner; public class HanoiMatrix { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入回形矩阵的阶数: "); int n = scanner.nextInt(); // 初始化二维数组 int[][] matrix = new int[n][n]; // 根据矩阵的阶数生成回形矩阵 for (int i = 0; i < n; i++) { if (i % 2 == 0) { // 奇数行,从中心向两边填充递增 for (int j = n / 2 - i; j <= i; j++) { matrix[i][j] = i + j + 1; } } else { // 偶数行,从中心向两边填充递减 for (int j = n / 2 - i; j <= i; j++) { matrix[i][j] = n - i - j + 1; } } // 对角线交换 for (int j = 0; j <= i; j++) { matrix[j][i] = matrix[i][j]; } } // 打印矩阵 printMatrix(matrix); scanner.close(); } private static void printMatrix(int[][] matrix) { for (int[] row : matrix) { for (int value : row) { System.out.print(value + " "); } System.out.println(); } } } ``` 当你运行这个程序,会提示输入方阵阶数,然后显示对应的回形矩阵。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值