public static void printStars(int num){
for (int x = 0; x< num; x++){
System.out.print("*");
}
System.out.println("");
}
public static void printSpaces(int spaces){
for (int y = 1; y<= spaces ; y++){
System.out.print("0");
}
}
public static void leftLeaningTriangle(int num){
for (int m = 1; m<=num; m++){
printStars(m);
}
}
public static void rightLeaningTriangle (int tri){
for (int n =1; n<=tri;n++){
printSpaces(tri-n);
printStars(n);
}
}
public static void christmasTree(int height){
for (int i = 1; i<=height; i++){
int z = height-i;
printSpaces(z);
height++;
printStars(i++);
}
嗨,有人能帮我理解为什么圣诞树图案的顶部会有一颗星而不是上面代码的两颗星吗?使用printstars(i++)不是printstars(2)吗?我有一个主要的方法,只是这里没有显示。
3条答案
按热度按时间gz5pxeao1#
i++
使用后增量运算符,该运算符首先返回变量的原始值,然后将其增量为1。wj8zmpe12#
尝试
++i
i++
取i的值,然后用++i
我将增加1,然后它很好地被传递函数vom3gejh3#
为了
printStars(i++)
,初始值,而不是i
传递给函数。i
只在函数运行后增加:您的代码相当于