根据用户输入方阵阶数, 按顺时针方向从 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(” “);
}
}
}

    原文作者:拉丁方阵问题
    原文地址: https://blog.csdn.net/chuang_pin/article/details/88630233
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞