博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据星星的层数输出星星(*)_java版
阅读量:5942 次
发布时间:2019-06-19

本文共 4724 字,大约阅读时间需要 15 分钟。

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

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

运行效果:

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

代码部分:

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

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

 

1 /** 2  *  3  */ 4 package com.b510.jinzita; 5  6 /** 7  * 星星数
8 * 根据事先规定的星星层数,按照(2*n-1)的方式输出:第一层一个"*",第二层三个"*",第三层五个"*"....以此类推。
9 * 对于星星的数量我们可以根据算法:(2*n-1)方式得到星星数量.
10 * 其次就是每一层的空格数量啦:这个我们可以从最后一层来找规律...第n层有0个空格(即:n-n=0),第n-1层有1个空格(即:n-(n-1)=1),第n-2层有两个空格(即:n-(n-2)=2)....
11 * 所以空格数量我们可以通过方法:getBlanks(int length)获取得到。12 * 13 * @author hongten
14 * @date 2013-3-1015 */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 number32 * 金字塔层数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 length48 * 空格的长度49 * @return50 */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 length63 * @return64 */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  * 星星数
8 * 根据事先规定的星星层数,按照(2*n-1)的方式输出:第一层一个"*",第二层三个"*",第三层五个"*"....以此类推。
9 * 对于星星的数量我们可以根据算法:(2*n-1)方式得到星星数量.
10 * 其次就是每一层的空格数量啦:这个我们可以从最后一层来找规律...第n层有0个空格(即:n-n=0),第n-1层有1个空格(即:n-(n-1)=1),第n-2层有两个空格(即:n-(n-2)=2)....
11 * 所以空格数量我们可以通过方法:getBlanks(int length)获取得到。12 * 13 * @author hongten
14 * @date 2013-3-1015 */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 number32 * 金字塔层数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 length52 * 空格的长度53 * @return54 */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 length67 * @return68 */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 length86 * @return87 */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 }

 

如果大家有更好的方法,可以一起探讨....

I'm Hongten

 

转载地址:http://ckmtx.baihongyu.com/

你可能感兴趣的文章
javascript this详解
查看>>
[Head First设计模式]生活中学设计模式——迭代器模式
查看>>
阿里无线的雄心壮志
查看>>
Java修改文件夹下所有文件名
查看>>
IOS NSInvocation应用与理解
查看>>
XCode 7上传遇到ERROR ITMS-90535 Unexpected
查看>>
iOS开发拓展篇—静态库
查看>>
【Mongodb】 Replica set的主从切换测试
查看>>
第一个 mac 程序 Create-JSON-Model
查看>>
Rafy 框架 - 大批量导入实体
查看>>
为何大多数人做出来的图表只是一坨屎?
查看>>
程序员的量化交易之路(35)--Lean之DataFeed数据槽3
查看>>
Tiny4412开发板 LED灯的控制
查看>>
【目录】C#操作Excel组件Spire.XLS系列文章目录
查看>>
ORACLE关闭启动的诡异错误
查看>>
汇编语言--寄存器(cpu工作原理)
查看>>
【DataGuard】ORA-16014 and ORA-00312 Messages in Alert.log of Physical Standby
查看>>
MongoDB主从复制
查看>>
Node.js链式回调
查看>>
B/S项目结束,又是一个新的开始
查看>>