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

标签 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 ); 
        }

}

这必须是最终输出:

            *
           ***
          *****
         *******
        *********
       ***********
      *************
     ***************
    *****************
   *******************
           ***
           ***

但我明白了:

            *
            **
            ***
            ****
            *****
            ******
            *******
            ********
            *********
            **********
           *
          **
         ***
        ****
       *****
      ******
     *******
    ********
   *********

最佳答案

首先,习惯使用 0 作为循环中的第一个值,而不是 1。这需要一些时间来适应,但 5 或 6 年后就会感觉很自然:-)

你肯定有逻辑问题。树顶部的每一行应从 height - i -1 (不是 height - 1)开始,并包含 i * 2 + 1 > 星星(不是i)。

与后备箱类似的问题,但我将把它留给您作为练习(因为这就是重点!)。

关于java - 如何在Java中通过调用方法打印圣​​诞树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54033289/

相关文章:

java - 严重 : Exception sending context initialized event to listener instance

java - 如何通过内部类itemListener修改类变量?

java - 为什么这是 SQL 文件或流的分隔符?

java - Spring with Castor - 初始化应用程序上下文时出现空指针异常

java - 如何使用spring boot在ehcache3中存储键和值

java - 在 Java 中呈现 Android XML 布局

java - Cassandra key 缓存为空

java - hibernate 内存堆不足错误

java - SpringBoot 2中获取OracleDataSource

java - 使用可变对象作为常量