解决方案 »

  1.   

    螺旋数组!
    呵呵 很久前有写过一个:import java.util.Scanner;public class LXArray {
    public static void main(String[] args) {
    System.out.println("请输入数组的维数:");
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt();
    if (num <= 0 || num > 20)
    throw new RuntimeException("Format Error!");
    helixArray(num);
    } private static void helixArray(int n) {
    int[][] arr = new int[n][n];
    int i = 0, j = 0;
    int index = 1;
    arr[i][j] = 1;
    while (index < n * n) {
    while ((j + 1) < n && arr[i][j + 1] == 0)
    arr[i][++j] = ++index;
    while ((i + 1) < n && arr[i + 1][j] == 0)
    arr[++i][j] = ++index;
    while ((j > 0) && arr[i][j - 1] == 0)
    arr[i][--j] = ++index;
    while ((i > 0) && arr[i - 1][j] == 0)
    arr[--i][j] = ++index;
    } for (int k = 0; k < arr.length; k++) {
    for (int h = 0; h < arr[k].length; h++) {
    if (arr[k][h] < 10)
    System.out.print(" ");
    System.out.print(arr[k][h] + " ");
    }
    System.out.println();
    } }
    }结果:
    请输入数组的维数:
    5
     1    2   3   4  5 
    16 17 18 19  6 
    15 24 25 20  7 
    14 23 22 21  8 
    13 12 11 10  9 
      

  2.   

    把四个方向的关系用笔写出来就好了,数组下标从0开始:
    右:[i, i][i, n-i-1]
    下:[i+1, n-i-1][n-i-1, n-i-1]
    左:[n-i-1, n-i-1-1], [n-i-1, i]
    上:[n-i-1-1, i][i+1, i]
      

  3.   

       这么快就有答案啊。。有效率。。
    我的那个头像是GIF格式的图片。。你上传一个GIF格式的图片就行了。。
    不过。。我自己看。。也没看到会动啊。。郁闷了。。