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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pathnet 中级黑马   /  2015-7-12 16:44  /  248 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.*;
  public class RingDemo
   {
    public static void main(String[] args)
     {  
     String strIn = "";
     System.out.print("请输入矩阵的行列数:");  
     InputStreamReader input = new InputStreamReader(System.in);  
     BufferedReader buff = new BufferedReader(input);
     try
      {
      strIn = buff.readLine();
      }
      catch (IOException e)
       {   System.out.println(e.toString());
      }
      int int1 = Integer.parseInt(strIn);
      int n = int1;
      System.out.println("这是行列数为" + n + "的螺线型数组:");
      int intA = 1;
      // 初始化
      int[][] array = new int[n][n];
      int intB;  
      if (n % 2 != 0) {   
       intB = n / 2 + 1;
       // 奇数时i循环次数
       } else
        intB = n / 2;
       // 偶数时i循环次数
       for (int i = 0; i < intB; i++) {
        // 从外到里循环
        // 从左到右横的开始  
        for (int j = i; j < n - i; j++) {   
         array[j] = intA;   
         intA++;   
         }  
         // 从上到下纵   
         for (int k = i + 1; k < n - i; k++) {  
          array[k][n - i - 1] = intA;   
          intA++;  
          }  
          // 从右到左横  
          for (int l = n - i - 2; l >= i; l--) {  
           array[n - i - 1][l] = intA;   
           intA++;  
           }   
           // 从下到上纵  
           for (int m = n - i - 2; m > i; m--) {   
            array[m] = intA;   
            intA++;
            }
            }
            // 输出数组
            for (int i = 0; i < n; i++) {
             for (int j = 0; j < n; j++) {   
              System.out.print(array[j] + " ");  
              }   System.out.println();
              }
              }
              }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马