for循环输出树木的形状java

Posted 木鲸鱼的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("*");

        }
    }
}

 代码结果显示:

 

以上是关于for循环输出树木的形状java的主要内容,如果未能解决你的问题,请参考以下文章

for循环输出空心菱形的形状java

for循环输出菱形的形状java

代码实现:输出下列的形状-直角三角形

用C语言循环嵌套语句编出一个三角形形状

使用循环语句编程输出下三角形状的九九乘法表

如何在Django视图中使用for循环返回每次迭代[关闭]