如何通过调用方法在Java中打印圣诞树?

Wus*_*ion 0 java

我需要帮助解决以下问题.该程序有三个输出:一个三角形和两个圣诞树.我已成功打印三角形,但我无法弄清楚如何使我的树工作.以下是练习40的链接:https://materiaalit.github.io/2013-oo-programming/part1/week-2/

请注意,这不是我的小工作.我正在学习如何在家里自己编码.

这是代码:

public static void xmasTree(int height) {

    for (int i = 1; i <= height; i++ ) {
        printWhitespaces(height - 1);
        printStars( i ); 

    }
 for( int j = 2; j <= height; j++ ){
            printWhitespaces ( height - j );
            printStars ( j - 1 ); 
        }

}
Run Code Online (Sandbox Code Playgroud)

这必须是最终输出:

            *
           ***
          *****
         *******
        *********
       ***********
      *************
     ***************
    *****************
   *******************
           ***
           ***
Run Code Online (Sandbox Code Playgroud)

但我明白了:

            *
            **
            ***
            ****
            *****
            ******
            *******
            ********
            *********
            **********
           *
          **
         ***
        ****
       *****
      ******
     *******
    ********
   *********
Run Code Online (Sandbox Code Playgroud)

spr*_*ter 6

首先,习惯使用0作为循环中的第一个值,而不是1.它需要一些习惯,但在5或6年后它会感觉自然:-)

那你肯定遇到了逻辑问题.树顶部的每一行应该从height - i -1(不height - 1)开始并包含i * 2 + 1星号(不是i).

与后备箱类似的问题,但我会把它留给你作为练习(因为那是重点!).