黑马程序员技术交流社区

标题: java循环嵌套值数字螺旋方阵 [打印本页]

作者: 914360849    时间: 2015-5-26 21:50
标题: java循环嵌套值数字螺旋方阵
/*
输出 n=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

*/
class  LuoXuan
{
public static void main(String[] args)
{
       method1(5);

}

public static void method1(int num)
{
  int size = num;
  int arr[][] = new int[num][num];
  int i, j, k = 0, n, m;
  n = num;
  m = (n + 1) / 2;
  for (i = 0; i < n; i++) {
   // 顶边,从左到右,行不变列变
   for (j = i; j <= n - i - 1; j++)
    arr[i][j] = ++k;// 输出1、2、3、4、13、14
   
   // 右边,从上到下,行变列不变
   for (j = i + 1; j <= n - i - 1; j++)
    arr[j][n - i - 1] = ++k; // 输出5、6、7、15
   
   // 底边,从右到左,行不变列变
   for (j = n - i - 2; j >= i; j--)
    arr[n - i - 1][j] = ++k; // 输出8、9、10、16
   
   // 左边,从下到上,行变列不变
   for (j = n - i - 2; j >= i + 1; j--)
    arr[j][i] = ++k; // 输出11、12
  }
  for (i = 0; i < n; i++) {
   for (j = 0; j < n; j++)
    System.out.print(arr[i][j] + "\t");
   System.out.println("");
  }

}
}

作者: redlake    时间: 2015-5-26 22:18
干得不错!!
作者: 914360849    时间: 2015-5-26 23:10
redlake 发表于 2015-5-26 22:18
干得不错!!

好难 理解 啊
这个有难度
作者: ddddk    时间: 2015-5-26 23:31
这个真不错 我也敲敲看
作者: 914360849    时间: 2015-5-27 00:00
redlake 发表于 2015-5-26 22:18
干得不错!!

看 还有别的方法吗




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