public class stars{
public static void main(String[] args){
/*
打印空心金字塔
思路分析
化繁为简
1、先打印一个矩形
*****
*****
*****
*****
*****
for(int i = 1; i<=5; i++){
System.out.println("*****");
2、打印半个金字塔
* //第1层 有 1个*
** //第2层 有 2个*
*** //第3层 有 3个*
**** //第4层 有 4个*
***** //第5层 有 5个*
for(int i = 1; i<=5; i++){// i 表示层数
//控制打印每层的*个数
for(int j=1; j <= i; j++){
System.out.print("*");
}
//每打印完一层的*后,就换行 println本身就会换行
System.out.println("");
}
3、打印整个金字塔
* //第1层 有 1个* = 2 * 1 -1 有4个空格 = 总层数 -1
*** //第2层 有 3个* = 2 * 2 -1 有3个空格 = 总层数 -2
***** //第3层 有 5个* = 2 * 3 -1 有2个空格 = 总层数 -3
******* //第4层 有 7个*
********* //第5层 有 9个*
for(int i = 1; i<=5; i++){// i 表示层数
//在输出*之前,还有输出 对应空格
for(int k = 1; k <= 5 - i; k++){
System.out.print(" ");
}
//控制打印每层的*个数
for(int j = 1; j <= 2 * i - 1; j++){
System.out.print("*");
}
//每打印完一层的*后,就换行 println本身就会换行
System.out.println("");
}
4、打印空心金字塔
* //第1层 有 1个* 当前行的第一个位置是*,最后一个位置也是* 有4个空格 = 总层数 -1
* * //第2层 有 2个* 有3个空格 = 总层数 -2
* * //第3层 有 2个* 有2个空格 = 总层数 -3
* * //第4层 有 2个*
********* //第5层 有 9个* = 2 * 5 -1 全部输出*
先死后活
5、层数做成变量int totalLevel = 5;
*/
int totalLevel = 10;
for(int i = 1; i<= totalLevel; i++){// i 表示层数
//在输出*之前,还有输出 对应空格
for(int k = 1; k <= totalLevel - i; k++){
System.out.print(" ");
}
//控制打印每层的*个数
for(int j = 1; j <= 2 * i - 1; j++){
//当前行的第一个位置是*,最后一个位置也是*,最后一层全部*
if(j == 1 || j == 2 * i -1 || i == totalLevel){
System.out.print("*");
}else{//其他情况输出空格
System.out.print(" ");
}
}
//每打印完一层的*后,就换行 println本身就会换行
System.out.println("");
}
}
}
java 空心金字塔
于 2022-08-10 16:55:29 首次发布