package cn.lp;
//一个圈为一次大循环,一个大循环内有四个小循环。
//第一个小循环为00-0i;不包括0i。
//第二个小循环为0i-ii;不包括ii。
//第三个小循环为ii-i0;不包括i0;
//第四个小循环为i0-10;
//一个大循环结束,利用break语句跳出Wc循环,while。
//第二个大循环从11开始,循环往复,当数组所有成员都被赋值以后,结束语句。
public class LuoXuanJuZhen {
public static void main(String[] args) {
int arr[][]=new int[7][7];
sop(change(arr));
}
public static void sop(int arr[][])
{
for (int j2 = 0; j2 < arr.length; j2++) {
for (int k = 0; k < arr.length; k++) {
System.out.print(arr[j2][k]+"\t");
}
System.out.println();
}
}
public static int[][] change(int arr[][]){
int a=1;
int i=0;
int j=0;
int n=arr.length;
for(int m=1;m<((n+1)/2+1);m++){
i=m-1;
j=m-1;
wc:while(true){
if(j>=n-m){
while(true){
if(i>=(n-m)){
while(true){
if(j<=(m-1)){
while(true){
if(i<=m)
{
arr[i][j]=a;
a++;
break wc;
}
arr[i][j]=a;
a++;
i--;
}
}
arr[i][j]=a;
a++;
j--;
}
}
arr[i][j]=a;
a++;
i++;
}
}
arr[i][j]=a;
a++;
j++;
}
}
return arr;
}
}
|
|