黑马程序员技术交流社区

标题: 写一方法,打印等长的二维数组,要求从1开始的自然数由... [打印本页]

作者: AndyYuan    时间: 2015-8-26 20:00
标题: 写一方法,打印等长的二维数组,要求从1开始的自然数由...
  1. /*
  2. * 9、 写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:                                

  3. 1  2  3  4

  4. 12 13 14 5

  5. 11 16 15 6

  6. 10 9  8  7
  7. */
  8. package com.itheima;

  9. import java.util.Arrays;
  10. public class Test9 {

  11.         public static void main(String[] args) {
  12.                 int leng =10;
  13.                 int[][] rect = new int[leng][leng];
  14.                 new Test9().shorRec(rect);
  15.                 //将数组显示出来
  16.                 for(int i=0;i<leng;i++){
  17.                         System.out.println(Arrays.toString(rect[i]));
  18.                 }       
  19.         }
  20.        
  21.        
  22.         public void shorRec(int [][] rect){
  23.                 int leng = rect.length;
  24.                 //计数器
  25.                 int count =1;
  26.                 int i=0;
  27.                 int j=0;
  28.                
  29.                 //循环一次转一圈
  30.                 for(int n=0;n<leng/2;n++){
  31.                         //System.out.println(n);
  32.                         for(j=n;j<leng-n;j++){
  33.                                 i=n;
  34.                                 rect[i][j]=count++;
  35.                         }
  36.                                
  37.                         for(i=n+1;i<leng-n;i++){
  38.                                 j=leng-n-1;
  39.                                 rect[i][j]=count++;
  40.                         }
  41.                        
  42.                         for(j=leng-n-2;j>=n;j--){
  43.                                 //System.out.println(j);
  44.                                 i=leng-n-1;
  45.                                 rect[i][j]=count++;
  46.                         }
  47.                         for(i=leng-n-2;i>n;i--){
  48.                                 j=n;
  49.                                 rect[i][j]=count++;
  50.                         }
  51.                 }       
  52.         }

  53. }
复制代码





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