java - 好吧,我本来想做一棵圣诞树,但它奏效了,但我想了解我的第二个 for 循环的基础知识

标签 java for-loop

好吧,我做了我的圣诞树,但我试图找到为什么当数字达到 5>5 时 space>line 不会停止背后的逻辑,因为在那之后它将达到 4>6 和 3>7 进行循环假的,我相信不要再去了。

public static void main(String[] args) 
{

    for(int line=1; line<=10;line++) 
    {
        System.out.println();
        for (int space=10; space>line;space--)
        {
            System.out.print(" ");
        }
        for(int k=0;k<line;k++)
        {
            System.out.print("* ");
        }
            System.out.println();
    }
}

我得到的是正确的,但请查看每个星号之前的空格而不是行空格。

         * 

        * * 

       * * * 

      * * * * 

     * * * * * 

    * * * * * * 

   * * * * * * * 

  * * * * * * * * 

 * * * * * * * * * 

* * * * * * * * * *

最佳答案

“查看每个星号后的空格而不是行空格”,那是因为您正在打印:

System.out.print("* ");

您提到的代码与星号之后 的空格无关,但对于之前:

for (int space=10; space>line;space--)

对于视觉示例,将该循环替换为:

for (int space=10; space>line;space--)
        {
            System.out.print("?");
        }

你会得到:

?????????*

????????* *

???????* * *

??????* * * *

?????* * * * *

????* * * * * *

???* * * * * * *

??* * * * * * * *

?* * * * * * * * *

* * * * * * * * * *

关于java - 好吧,我本来想做一棵圣诞树,但它奏效了,但我想了解我的第二个 for 循环的基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55523478/

相关文章:

java - AsyncTask 不刷新 UI

r - 检查某个元素是否存在于另一个向量中并打印其值

c - 我正在尝试构建一个 2*2 数组,但我的程序需要 5 个输入。为什么?

C++ for循环没有其他方式的输出

php - 具有自定义索引 PHP 的 Foreach

java - 重写java中使用的文件

java - 在log4j中使用MDC动态命名日志文件

java - 通过 Maven 在 tomcat9 上部署 war 时出错 - Windows

java - 找不到 JRE 定义 : "J2SE-1.8". 启动中止

java - 我的索引越界错误发生在哪里?