黑马程序员技术交流社区

标题: 辛苦了半小时的成果。while循环螺旋矩阵 [打印本页]

作者: GiveUp    时间: 2015-6-29 23:23
标题: 辛苦了半小时的成果。while循环螺旋矩阵
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;
        }
       
}

作者: tream    时间: 2015-6-30 00:22
不错,写的挺好




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2