public class LuoxuanArray {
public static void main(String[] args){
int len=4;
int[][] arr=luoxuanStart(len);
for(int i=0;i<len;i++){
for(int j=0;j<len;j++)
{
System.out.print(+arr[i][j]+"\t");
}
System.out.println();
}
}
public static int[][] luoxuanStart(int len){
/*
* 定义一个整形方向变量,默认值为:0
* 0:向右;1:向下;2:向左;3:向上
*/
final int toRight=0;//为什么要定义成final类型
final int toDown=1;
final int toLeft=2;
final int toUp=3;
int currentDirection=toRight;
//定义一个二维数组,用于存放二维的螺旋数组值
int x=0,y=0;//定义二维数组的下标
int[][] luoxuan=new int[len][len];
for(int i=1;i<=len*len;i++){//----------------------------------for
//给当前坐标赋值
luoxuan[x][y]=i;
//计算下一个正确坐标-这个坐标不一定正确,所以先将此坐标的位置
int tempX = x;
int tempY = y;
//根据当前的方向确定下一个位置的坐标--------switch
switch (currentDirection){
case toRight:{
tempY++;
break;
}
case toDown:{
tempX++;
break;
}
case toLeft:{
tempY--;
break;
}
case toUp:{
tempX--;
break;