创建圣诞树-Java publicstaticvoidprintstars(int-num){ 对于(int x=0;x

创建圣诞树-Java publicstaticvoidprintstars(int-num){ 对于(int x=0;x,java,loops,for-loop,methods,Java,Loops,For Loop,Methods,对于printStars(i++),传递给函数的是初始值,而不是i的增量值 i仅在函数运行后增加:您的代码相当于 public static void printStars(int num){ for (int x = 0; x< num; x++){ System.out.print("*"); } System.out.println(""); } public static void printSpac

对于
printStars(i++)
,传递给函数的是初始值,而不是
i
的增量值

i
仅在函数运行后增加:您的代码相当于

 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++);
    }

i++
使用后增量运算符,该运算符首先返回变量的原始值,然后将其递增1。

尝试
++i
i++
取i的值,然后增加它,使函数取1
通过使用
++i
我将增加1,然后将其传递给函数

@OliveGalia:这是所有C类型语言中的一个常见现象。你会及时习惯的。只是澄清一下,这意味着-printStars(i++)一旦它被执行,for循环i++迭代将增加i 1?在循环再次开始之前,将h增加1,将i增加2?对吗?感谢投票中的第一个和一个结束。你必须喜欢Java标记!请用英语解释你认为
i++
是什么。
printStars(i);
i = i + 1;