java编打出5行圣诞树,求教每一步详细思想。下面是代码

java编打出5行圣诞树,求教每一步详细思想。下面是代码,第1张

按照你的要求加详细注释的圣诞树Java程序如下:(编程思想在注释中说明)

public class ShengDanShu2 {

 //这个程序的编程思想是利用对for循环变量i的控制达到一层循环代替双层循环的目的

    public static void main(String[] args) {    

     int   n=5   //初始化打印圣诞树层数变量n

     int   a=0   //初始化打印前置空格数变量a

     int   b=0   //初始化打印星号数变量b

     for(int i=1i <=ni++){   //打印n层圣诞树

      if(a!=(n-i)){    //如果前置空格数不等于n-i

       System.out.print(" ") //打印一个空格

       a++    //前置空格数加一   

       i=i-1    //i变量减一  目的是固定住i变量不变直到a==n-i

      }else if(b!=(2*i-1)){   //如果星号数不等于2*i-1

       System.out.print("*")  //打印一个星号

       b++    //星号数加一

       i=i-1   //i变量减一  目的是固定住i变量不变直到b==2*i-1

      }else if(a==(n-i) && b==(2*i-1)){//当以上两个条件都满足时,换行初始化a和b为0   

       System.out.println()  //打印换行 

       a=0   //对新的一行重新初始化前置空格数变量a

       b=0  //对新的一行重新初始化打印星号数变量b

       //这里没有控制for循环的i变量减一,因为这时i变量加一,开始新一行。

      }   

     }   

    }     

}

运行结果:

*

   ***

  *****

 *******

*********

tab表示需要先空几格再开始print

Private Sub Command1_Click()

'第一个三角形树叶3行

For i = 1 To 3

Print Tab(20 - j)

For j = 1 To 2 * i - 1

Print "▲"

Next j

Next i

'第二个三角形树叶5行

For m = 1 To 5

Print Tab(20 - n)

For n = 1 To 2 * m - 1

Print "▲"

Next n

Next m

'第三个三角形树叶7行

For f = 1 To 7

Print Tab(20 - g)

For g = 1 To 2 * f - 1

Print "▲"

Next g

Next f

'树根,4行,每行打印2个三角形

For k = 1 To 4

Print Tab(19)"▲▲"

Next k

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7864124.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存