专栏首页Hongten根据星星的层数输出星星(*)_java版

根据星星的层数输出星星(*)_java版

在一个java交流群上面看到这样一个图片:

自己看了一下,觉得好玩儿,自己就动手写了一个

运行效果:

=============================================================

代码部分:

=============================================================

/UUUUU_Test/src/com/b510/jinzita/JinZiTa.java

 1 /**
 2  * 
 3  */
 4 package com.b510.jinzita;
 5 
 6 /**
 7  * 星星数<br>
 8  * 根据事先规定的星星层数,按照(2*n-1)的方式输出:第一层一个"*",第二层三个"*",第三层五个"*"....以此类推。<br>
 9  * 对于星星的数量我们可以根据算法:(2*n-1)方式得到星星数量.<br>
10  * 其次就是每一层的空格数量啦:这个我们可以从最后一层来找规律...第n层有0个空格(即:n-n=0),第n-1层有1个空格(即:n-(n-1)=1),第n-2层有两个空格(即:n-(n-2)=2)....<br>
11  * 所以空格数量我们可以通过方法:getBlanks(int length)获取得到。
12  * 
13  * @author hongten<br>
14  * @date 2013-3-10
15  */
16 public class JinZiTa {
17     /** 层数 */
18     public static final int LAYERS = 10;
19     /** 空格 */
20     public static final String BLANK_1 = " ";
21     /** 星星 */
22     public static final String START_1 = "*";
23 
24     public static void main(String[] args) {
25         showTa(LAYERS);
26     }
27 
28     /**
29      * 输出金字塔
30      * 
31      * @param number
32      *            金字塔层数
33      */
34     public static void showTa(int number) {
35         if (number >= 1) {
36             for (int i = 1; i <= number; i++) {
37                 System.out.println(getBlanks(number - i) + getStars(2 * i - 1));
38             }
39         } else {
40             System.out.println("你输入的数[" + number + "]不在处理的范围中,请输入大于或等于1的数");
41         }
42     }
43 
44     /**
45      * 生成空格数
46      * 
47      * @param length
48      *            空格的长度
49      * @return
50      */
51     public static String getBlanks(int length) {
52         StringBuffer blanks = new StringBuffer();
53         for (int i = 0; i < length; i++) {
54             blanks.append(BLANK_1);
55         }
56         return blanks.toString();
57     }
58 
59     /**
60      * 生成星星数
61      * 
62      * @param length
63      * @return
64      */
65     public static String getStars(int length) {
66         StringBuffer blanks = new StringBuffer();
67         for (int i = 0; i < length; i++) {
68             blanks.append(START_1);
69         }
70         return blanks.toString();
71     }
72 }

生成有镂空的金字塔....

运行效果:

=============================================================

代码部分:

=============================================================

/UUUUU_Test/src/com/b510/jinzita/JinZiTaBlank.java

 1 /**
 2  * 
 3  */
 4 package com.b510.jinzita;
 5 
 6 /**
 7  * 星星数<br>
 8  * 根据事先规定的星星层数,按照(2*n-1)的方式输出:第一层一个"*",第二层三个"*",第三层五个"*"....以此类推。<br>
 9  * 对于星星的数量我们可以根据算法:(2*n-1)方式得到星星数量.<br>
10  * 其次就是每一层的空格数量啦:这个我们可以从最后一层来找规律...第n层有0个空格(即:n-n=0),第n-1层有1个空格(即:n-(n-1)=1),第n-2层有两个空格(即:n-(n-2)=2)....<br>
11  * 所以空格数量我们可以通过方法:getBlanks(int length)获取得到。
12  * 
13  * @author hongten<br>
14  * @date 2013-3-10
15  */
16 public class JinZiTaBlank {
17     /** 层数 */
18     public static final int LAYERS = 10;
19     /** 空格 */
20     public static final String BLANK_1 = " ";
21     /** 星星 */
22     public static final String START_1 = "*";
23 
24     public static void main(String[] args) {
25         showTa(LAYERS);
26     }
27 
28     /**
29      * 输出金字塔
30      * 
31      * @param number
32      *            金字塔层数
33      */
34     public static void showTa(int number) {
35         if(number >= 1){
36             for (int i = 1; i <= number; i++) {
37                 if(i==number){
38                     System.out.println(getBlanks(number - i) + getStars(2 * i - 1));
39                 }else{
40                     System.out.println(getBlanks(number - i) + getBlankStars(2 * i - 1));
41                 }
42             }
43         }else{
44             System.out.println("你输入的数["+number+"]不在处理的范围中,请输入大于或等于1的数");
45         }
46     }
47 
48     /**
49      * 生成空格数
50      * 
51      * @param length
52      *            空格的长度
53      * @return
54      */
55     public static String getBlanks(int length) {
56         StringBuffer blanks = new StringBuffer();
57         for (int i = 0; i < length; i++) {
58             blanks.append(BLANK_1);
59         }
60         return blanks.toString();
61     }
62 
63     /**
64      * 生成含有空格的星星数
65      * 
66      * @param length
67      * @return
68      */
69     public static String getBlankStars(int length) {
70         StringBuffer blanks = new StringBuffer();
71         for (int i = 0; i < length; i++) {
72             if (i == 0 || i == length - 1) {
73                 blanks.append(START_1);
74             } else {
75                 blanks.append(BLANK_1);
76             }
77         }
78         return blanks.toString();
79     }
80     
81 
82     /**
83      * 生成星星数
84      * 
85      * @param length
86      * @return
87      */
88     public static String getStars(int length) {
89         StringBuffer blanks = new StringBuffer();
90         for (int i = 0; i < length; i++) {
91             blanks.append(START_1);
92         }
93         return blanks.toString();
94     }
95 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pygame系列_百度随心听_完美的UI设计

    =====================================================

    Hongten
  • java的poi技术读取Excel数据到MySQL

    这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中。

    Hongten
  • java开发_eclipse导出为war文件,热部署到tomcat运行总结

    下载项目地址:http://files.cnblogs.com/hongten/eclipse4war.rar

    Hongten
  • Spring Cloud中的断路器Hystrix

    什么是微服务?举个简单的例子,我想做一个用户管理项目,里边就三个功能:用户注册、用户登录、用户详情浏览。按照传统的软件开发方式直接创建一个Web项目,分分钟就把...

    江南一点雨
  • MySQL information_schema详解 GLOBAL_VARIABLES和SESSION_VARIABLES

    从 MySQL 5.7.6开始,这两个表开始被废弃,并将在后续的版本移除,信息可以在Performance_schema数据库中查询

    bsbforever
  • springmvc实例之显示雇员相关信息(一)

    一、新建一个Dynamic Web Project(一直Next到最后,勾选Generate...,否则不会有web.xml文件)。

    绝命生
  • 深度残差收缩网络(五)实验验证

    实验部分将所提出的两种深度残差收缩网络,即“通道之间共享阈值的深度残差收缩网络(Deep Residual Shrinkage Networks with Ch...

    用户6831054
  • 设置控件Enable=false,控件颜色不变

    冰封一夏
  • 以网络安全为例的大数据可视化设计

    大数据可视化是个热门话题,在信息安全领域,也由于很多企业希望将大数据转化为信息可视化呈现的各种形式,以便获得更深的洞察力、更好的决策力以及更强的自动化处理能力,...

    小莹莹
  • MySQL information_schema详解 GLOBAL_STATUS和SESSION_STATUS

    从 MySQL 5.7.6开始,这两个表开始被废弃,并将在后续的版本移除,信息可以在Performance_schema数据库中查询

    bsbforever

扫码关注云+社区

领取腾讯云代金券