首页 > 解决方案 > 试图反转嵌套 for 循环的输出

问题描述

我试图弄清楚这个嵌套 for 循环的逻辑。从功能上讲,代码可以工作,但输出应该被反转。

我试图玩弄嵌套 for 循环的逻辑,但它总是让我的 IDE 崩溃。同样切换 for 循环打印出来的内容并没有给我想要的结果。

public class stardot {
    public static void main(String[] args) {
        for (int i = 5; i >= 1; i--) {
            for (int j = 1; j <= i; j++) {
                System.out.print(" * ");
            }
            System.out.println();
            for (int k = 5; k >= i; k--) {
                System.out.print(" . ");
            }
        }
    }
}

这是我目前得到的输出:

 *  *  *  *  * 
 .  *  *  *  * 
 .  .  *  *  * 
 .  .  .  *  * 
 .  .  .  .  * 
 .  .  .  .  . 

这是我想要的输出:

 *  *  *  *  * 
 *  *  *  *  . 
 *  *  *  .  . 
 *  *  .  .  . 
 *  .  .  .  .
 .  .  .  .  .

标签: javanested-loops

解决方案


试着用文字写下你将如何用铅笔画出这个图案。忘记这是一个计算机程序,把它当作一个逻辑问题。类似的东西(其中'???' =学生的练习)

for lineNumber = 1 to 6 {
    numberOfDots = ???
    numberOfStars = ???
    for s = 1 to numberOfStars {???}
    for d = 1 to numberOfDots {???}
}

推荐阅读