A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. <font color="#800080"><p style="line-height: 30px; text-indent: 2em;"></p><div style="text-align: center;"><span style="line-height: 2.2em;"><p style="line-height: 30px; text-indent: 2em;"></p><div style="text-align: left;"><span style="line-height: 2.2em;">import java.util.Scanner;</span></div></span></div>
  2. public class luoxuan {
  3.   public static void main(String[] args) {
  4.           //scanner键盘输入整数,
  5.           Scanner sc = new Scanner(System.in);
  6.           int N = sc.nextInt();
  7.           //定义变量和数组
  8.           int num =1;
  9.           int [][] arr = new int [N][N];
  10.           int m =0,i,j;
  11.           //判断输入整数的奇偶。
  12.           if(N%2 == 0)
  13.                   m = N/2;
  14.           else
  15.                   m = N/2+1;
  16.           // ^ --->
  17.           // |      |
  18.           // <--- v
  19.           //就是个圈圈,每走一行或一列,都会少一,看下面代码就知道很多都是对应的。
  20.           for(i=0 ; i<= m-1 ; i++)
  21.           {
  22.                   for(j =i ; j <=N-i-1 ;j++)//--> 0行,行不变,列变arr的i是固定的j在变,
  23.                   {
  24.                           arr[i][j] = num;
  25.                           num++;
  26.                   }
  27.                   for(j =i+1 ; j <=N-i-1 ;j++)//| N-i-1列,就是最右侧一列,不变,行在变j。
  28.                   {
  29.                           arr[j][N-i-1] = num;
  30.                           num++;
  31.                   }
  32.                   for(j =N-i-2 ; j >=i ;j--)//<-- N-i-1行不变,j列在变,逐渐在缩小,
  33.                   {
  34.                           arr[N-i-1][j] = num;
  35.                           num++;
  36.                   }
  37.                   for(j =N-i-2 ; j >=i+1 ;j--)//| 第i列不变,行在逐渐缩小。
  38.                   {
  39.                           arr[j][i] = num;
  40.                           num++;
  41.                   }

  42.           }
  43.           for(i =0 ; i <N ;i++)
  44.           {
  45.                   for(j =0 ;j <N ;j++)
  46.                   {
  47.                           System.out.print(arr[i][j]+"\t");//打印数组数据。
  48.                   }
  49.                   //打印空换行。
  50.                   System.out.println("");
  51.           }
  52.           //关闭Scanner
  53.           sc.close();
  54.         
  55.   }
  56. }</font>
复制代码


1 个回复

正序浏览
代码最上面是设置文字颜色和字体的 不用管它。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马