输出:
1 2 3 4 5 6 7 8
28 29 30 31 32 33 34 9
27 48 49 50 51 52 35 10
26 47 60 61 62 53 36 11
25 46 59 64 63 54 37 12
24 45 58 57 56 55 38 13
23 44 43 42 41 40 39 14
22 21 20 19 18 17 16 15
程序:
public class RotatitonClass {
public static final int N=8; //方阵的大小
public static void main(String[] args) {
int[][] m = new int[N][N]; //创建N x N的方阵
rotating(m,N); //向方阵中填写数值
printSquareMatrix(m,N); //显示方阵
}
public static void rotating(int[][] m,int num) //向方向中填写数值
{
int k = 1; //将要填写的数值
for (int i = 0; i<=num/2;i++) //将要填写的圈数
{
for (int j=i;j<num-i;j++) //上方行方向
{
m[i][j]=k++;
}
for (int j=i+1;j<num-i;j++) //右侧列方向
{
m[j][num-i-1]=k++;
}
for (int j=num-i-2;j>=i;j--) //下方行方向
{
m[num-i-1][j]=k++;
}
for (int j=num-i-2;j>i;j--) //左侧方向
{
m[j][i]=k++;
}
}
}
public static void printSquareMatrix(int[][] m,int num) //显示方阵
{
System.out.println();
for (int i=0;i<num;i++)
{
for (int j=0;j<num;j++)
{
System.out.printf("%4d", m[i][j]);
}
System.out.println();
}
}
}