按照你的要求加详细注释的圣诞树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表示需要先空几格再开始printPrivate 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)