package Test.java;
public class practice {
public static void main(String[] args) {
/*
思路分析
化繁为简
1、先打印一个矩形
*****
*****
*****
*****
*****
2、打印半个金字塔
*
**
***
****
*****
3、打印整个金字塔
* 1个* 2 * 1 - 1 有4=(总层数 - 1)个空格 (输出*之前的空格)
*** 3个* 2 * 2 - 1 有3=(总层数 - 1)个空格
***** 5个* 2 * 3 - 1 有2=(总层数 - 1)个空格
******* 7个* 2 * 4 - 1 有1=(总层数 - 1)个空格
********* 9个* 2 * 5 - 1 有0=(总层数 - 1)个空格
4、打印空心金字塔
* 1个* 当前行第一个位置是*,最后一个位置也是*
* * 2个*
* * 2个*
* * 2个*
********* 9个* 全部输出*
先死后活
5、层数做成变量 int totalLevel = 5
*/
int totalLevel = 10;
for(int i = 1; i <= totalLevel; 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(" ");
}
}
//每打印完一层*后,换行
System.out.println("");
}
}
}
空心金字塔
最新推荐文章于 2024-04-26 05:34:36 发布