黑马程序员技术交流社区

标题: 螺旋赋值 [打印本页]

作者: a96339023    时间: 2016-2-21 00:02
标题: 螺旋赋值
  1. /*

  2.   实现螺旋赋值

  3. 1        2        3        4        5
  4. 6        7        8        9        10
  5. 11        12        13        14        15
  6. 16        17        18        19        20
  7. 21        22        23        24        25
  8.         ||        ||
  9.           \/        \/
  10. 1        2        3        4        5
  11. 16        17        18        19        6
  12. 15        24        25        20        7
  13. 14        23        22        21        8
  14. 13        12        11        10        9


  15. *
  16. *
  17. * */

  18. package com.test;

  19. public class LuoXuan {

  20.         public static void main(String[] args) {
  21.                 // TODO Auto-generated method stub
  22.                 System.out.println("请输入一个小于或等于10的整数:");
  23.                 int c = new java.util.Scanner(System.in).nextInt();
  24.                 int arr[][] = new int[c][c];

  25.                 int sum = 1;

  26.                 for (int j = 0; j < c / 2 + 1; j++) {
  27.                        
  28.                         //输出第一行
  29.                         for (int i = j; i < arr.length - j; i++) {
  30.                                 arr[j][i] = sum++;
  31.                         }

  32.                         //输出最后一列
  33.                         for (int i = j + 1; i < arr.length - j; i++) {
  34.                                 arr[i][arr.length - 1 - j] = sum++;
  35.                         }

  36.                         //输出最后一行
  37.                         for (int i = arr.length - 2 - j; i >= j; i--) {
  38.                                 arr[arr.length - 1 - j][i] = sum++;
  39.                         }

  40.                         //输出第一列
  41.                         for (int i = arr.length - 2 - j; i > j; i--) {
  42.                                 arr[i][j] = sum++;
  43.                         }
  44.                 }
  45.                 printArr(arr);
  46.         }

  47.         //打印数组
  48.         public static void printArr(int arr[][]) {
  49.                 for (int i = 0; i < arr.length; i++) {
  50.                         for (int j = 0; j < arr[i].length; j++) {
  51.                                 System.out.print(arr[i][j] + "\t");
  52.                         }
  53.                         System.out.println();
  54.                 }

  55.         }

  56. }
复制代码



作者: ladder    时间: 2016-2-21 12:30
赞一个,666




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