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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我自己写了一代代码实现,但感觉应该有更好的算法,请各位大神多多指正,不胜荣幸!
import java.util.Scanner;

public class CircleNum {
        public static void main(String[] args ) {
                System.out.println("请输入数组长度:");
               
                Scanner sc = new Scanner(System.in);
                int n = sc.nextInt();
                int[][] arr = new int[n][n];
                round(n, arr);
                System.out.println("打印结果:");
                print(arr);
        }
       
        public static void round(int n, int[][] arr) {
                int last = n * n;
                int count = 1;
                for(int i=0; i<n/2; i++) {
                        for(int c=0+i; c<n-i; c++) {
                                arr[0+i][c] = count;
                                count ++;
                        }
                        for(int r=1+i; r<n-i; r++) {
                                arr[r][n-1-i] = count;
                                count ++;
                        }
                        for(int c=n-i-2; c>=0+i; c--) {
                                arr[n-1-i][c] = count;
                                count ++;
                        }
                        for(int r=n-i-2; r>=1+i; r--) {
                                arr[r][0+i] = count;
                                count ++;
                        }
                }
                if(1 == n%2) {
                        arr[n/2][n/2] = last;
                }
        }
       
        public static void print(int[][] arr) {
                for(int i=0; i<arr.length; i++) {
                        for(int j=0; j<arr[i].length; j++) {
                                System.out.print(arr[i][j] + " ");
                        }
                        System.out.println();
                }
        }
}

VT_77ZLM671{R8U@{TV422A.png (3.66 KB, 下载次数: 10)

VT_77ZLM671{R8U@{TV422A.png

评分

参与人数 2黑马币 +34 收起 理由
Hi,兜里有糖 + 14 赞一个!
ppaapc + 20 赞一个!

查看全部评分

2 个回复

倒序浏览
不错 支持一下
回复 使用道具 举报
赞一个,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马