• for循环输出树木的形状【java】


    使用for循环语句输出以下“树木”效果:

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

    代码:

    /*
        *
       ***
      *****
     *******
    *********
        *
        *
        *
        *
        *
    
    分析:
        - 树顶(共5层)
            每层构成:每层每层空格数+每层星星数
                第1层 -- 空格数:4 + 星星数:1
                第2层 -- 空格数:3 + 星星数:3
                第3层 -- 空格数:2 + 星星数:5
                第4层 -- 空格数:1 + 星星数:7
                第5层 -- 空格数:0 + 星星数:9
                
                分析:
                第1层 -- 空格数:4(= 5-1) + 星星数:1(= 2*1-1)
                第2层 -- 空格数:3(= 5-2) + 星星数:3(= 2*2-1)
                第3层 -- 空格数:2(= 5-3) + 星星数:5(= 2*3-1)
                第4层 -- 空格数:1(= 5-4) + 星星数:7(= 2*4-1)
                第5层 -- 空格数:0(= 5-5) + 星星数:9(= 2*5-1)
    
                推理:(共layer层树顶)
                第i层 -- (空格数 = layer-i) + (星星数 = 2*i-1)
    
    
        - 树干(共5层)
                第1层 -- 空格数:4 + 星星数:1
                第2层 -- 空格数:4 + 星星数:1
                第3层 -- 空格数:4 + 星星数:1
                第4层 -- 空格数:4 + 星星数:1
                第5层 -- 空格数:4 + 星星数:1
    
                相似于第1层结果,即:
                第1层 -- 空格数:4 + 星星数:1
                类比树顶第i层结果得出:第1层 -- 空格数:(layer-1)+ 星星数:1
    
                分析:(共layer层树顶)
                第1层 -- 空格数:(layer-1)+ 星星数:1
                第2层 -- 空格数:(layer-1)+ 星星数:1
                第3层 -- 空格数:(layer-1)+ 星星数:1
                第4层 -- 空格数:(layer-1)+ 星星数:1
                第5层 -- 空格数:(layer-1)+ 星星数:1
    
    */
    
    
    public class StarTree
    {
        public static void main(String[] args){
            int layer = 5;
    
            // 一、树顶
            for(int i=1;i<=layer;i++){
                 
                // 1、获取空格需要显示数量
                int spaceNum = layer-i; 
                for(int j=1;j<=spaceNum;j++){  // 需要打印空格的数量
                    System.out.print(" ");
                }
                
                // 2、获取星星需要显示的数量
                int starNum = 2*i-1;
                for(int j=1;j<=starNum;j++){ // 需要打印星星的数量
                    System.out.print("*");
                }
                // 3、换行
                System.out.println();
            }
            
            // 二、树干
            for(int i=1;i<=layer;i++){
    
                // 1、获取空格需要显示数量
                int spaceNum = layer-1;
                for(int j=1;j<=spaceNum;j++){
                    System.out.print(" ");
                }
                // 2、获取星星需要显示的数量并换行
                System.out.println("*");
    
            }
        }
    }

     代码结果显示:

    个人博客: woodwhale's blog

    微信公众号:木鲸鱼 ID: mujingyu072

  • 相关阅读:
    s3c6410 SD卡启动的Secure mode
    转载:在WinCE中实现Screen Rotation
    Linux常用的
    49美元Android PC驾到!威盛APC初探
    通过ImageIO创建任意大小图片缩略图(image thumbnail)
    MongoDB中的注意事项
    PHP连接Mongo时的数据库指定
    MongoDB与PHP的简单应用
    关于MongoDB的group用法
    MongoDB的管理
  • 原文地址:https://www.cnblogs.com/mujingyu/p/7289815.html
Copyright © 2020-2023  润新知