输入4打印出
1 12 11 10
2 13 16 9 3 14 15 8 4 5 6 7
输入5打印出
1 16 15 14 13
2 17 24 23 12 3 18 25 22 11 4 19 20 21 10 5 6 7 8 9一个逆时针循环叠加的操作,代码如下
import java.util.ArrayList;import java.util.List;public class Demo1 { private int num=0 ; private Listarrs ; private int numSer = 0 ; public static void main(String[] args) { new Demo1().start(5); } public void start(int num){ this.num = num ; if(this.num<0){ System.out.println("不可小于0"); return ; } arrs = new ArrayList () ; String[] itemArr= null ; for(int i=0 ;i =0;y--){ if(arrs.get(y)[x]!=null){ isbrek = true ; y++; break ; } numSer++ ; arrs.get(y)[x] = numSer+"" ; } if(!isbrek){ y++; } left(x, y); } //左 private void left(int x , int y){ x-- ; boolean isbrek = false ; if(arrs.get(y)[x]!=null){ return ; } for(;x>=0;x--){ if(arrs.get(y)[x]!=null){ isbrek = true ; x++; break ; } numSer++ ; arrs.get(y)[x] = numSer+"" ; } if(!isbrek){ x++ ; } bot(x, y); }}
,个人纪录