打印自定义格式的N宫格

编程技术  /  houtizong 发布于 3年前   57
输出n宫格,要求是数字从1开始,顺时针绕着宫格周围逐渐增大,到了左下角后,开始从左到右输出倒数第二行,第三行...的数据,直到填满宫格。

private static void print(int n) {StringBuilder sb = new StringBuilder();    // Print the output via iterating each rowmyloop: for (int i = 1; i <= n; i++) {    // Process the first rowif (i == 1) {for (int j = 1; j <= n; j++)sb.append(j).append("\t");sb.append("\r\n");continue myloop;}    // Process the last rowif (i == n) {for (int j = 1; j <= n; j++)sb.append(3 * n - 1 - j).append("\t");sb.append("\r\n");break myloop;}    // Process other rowsfor (int j = 1; j <= n; j++) {            // Process the last column of the other rowsif (j == n) {sb.append(n + i - 1).append("\r\n");continue myloop;}sb.append(n * n - (i - 1) * (n - 1) + j).append("\t");}}System.out.println(sb.toString());}


如果n为3,输出的结果如下:
1 2 3
8 9 4
7 6 5
如果n为4,输出的结果如下:
1 2 3 4
14 15 16 5
11 12 13 6
10 9 8 7

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客