打印金字塔

本文详细介绍了如何使用编程语言(如Java)实现打印完整金字塔、半金字塔和空心金字塔的代码,通过循环结构控制空格和星号输出,适合初学者学习迭代逻辑。
摘要由CSDN通过智能技术生成

思路分析

1.先打印一个矩形

******
******
******
******
******

2.打印半个金字塔

*			//第1层 有1个*
**			//第2层 有2个*
***			//第3层 有3个*
*****		//第4层 有4个*
******		//第5层 有5个*

3.打印整个金字塔

    *			//第1层 有1个* 2*1-1  有4=(总层数-1)个空格
   ***			//第2层 有1个* 2*2-1  有3=(总层数-1)个空格
  *****			//第3层 有1个* 2*3-1  有2=(总层数-1)个空格
 *******		//第4层 有1个* 2*4-1  有1=(总层数-1)个空格
*********		//第5层 有1个* 2*5-1  有0=(总层数-1)个空格

4.打印空心金字塔怕【最难】

    *			//第1层 有1个*  当前行第一个位置是*,最后一个位置也是*
   * *			//第2层 有2个*  当前行第一个位置是*,最后一个位置也是*
  *   *			//第3层 有2个*  当前行第一个位置是*,最后一个位置也是*
 *     *		//第4层 有2个*  当前行第一个位置是*,最后一个位置也是*
*********		//第5层 有9个*  全部输出*

详细代码

1.打印整个金字塔

        for (int i = 1; i <= 5; i++){
            //输出*之前输出对应的空格
            for(int j = 1; j <= 5 - i; j++){
                System.out.print(" ");
            }
            //控制每层打印*的个数
            for (int n = 1; n <= 2 * i - 1; n++){
                System.out.print("*");
            }
            //每打印完一层* 就换行
            System.out.println("");
        }

2.打印空心金字塔

        int totalLevel = 5; //层数
        for (int i = 1; i <= totalLevel; i++){
            //输出*之前输出 对应的空格数 = 总层数 - 当前层
            for(int j = 1; j <= totalLevel - i; j++){
                System.out.print(" ");
            }
            //控制每层打印*的个数
            for (int n = 1; n <= 2 * i - 1; n++){
                //当前第一行第一个位置是*,最后一个位置也是*,最后一层全部是*
                if(n == 1 || n == 2 * i - 1 || i == totalLevel){
                    System.out.print("*");
                }else { //其他情况输出空格
                    System.out.print(" ");
                }
            }
            //每打印完一层* 就换行
            System.out.println("");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值