循环打印金字塔的不同玩法

//*
//**
//***
//****
//*****
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
//    *              第1层有1个*     2*1-1=1  有4=(总层数-1)个空格
//   ***            第2层有3个*     2*2-1=3  有3=(总层数-2)个空格
//  *****          第3层有5个*     2*3-1=5  有2=(总层数-3)个空格
// *******        第4层有7个*     2*4-1=7  有1=(总层数-4)个空格
//*********      第5层有9个*     2*5-1=9  有0=(总层数-5)个空格
        for (int i = 1; i <=5; i++) {
            for (int x=1;x<=5-i;x++){
                System.out.print(" ");
            }
            for (int j = 1; j <= 2*i-1; j++) {
                    System.out.print("*");
            }
            System.out.println();
        }
//    *
//   * *
//  *   *
// *     *
//*********

        for (int i = 1; i <= 5; i++) {  //i表示层数
            //在输出*之前,还要输出 对应的空格=总层数 - 当前层数
            for (int x = 1; x <= 5 - i; x++) {
                System.out.print(" ");
            }
            //控制打印每层打印的*的个数
            for (int j = 1; j <= 2 * i - 1; j++) {
                  //当前行的第一个位置是*,最后一个位置也是*,最后一层全是*
                if (j == 1 || j == 2 * i - 1 || i == 5) {
                    System.out.print("*");
                } else { //其他情况输出空格
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

个人总结:
1、双层循环,第一层循环控制行数,第二层循环控制每行中符号的打印个数(列数)
2、在行数和列数关系上寻找规律

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容