java - 尝试反转嵌套 for 循环的输出

标签 java nested-loops

我正在尝试找出这个嵌套 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(" . ");
            }
        }
    }
}

这是我当前得到的输出:

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

这是我想要的输出:

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

最佳答案

这是您问题的解决方案:

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

            System.out.println();
     }
}

当像这样计算循环时,它有助于查看每行上所需的每个字符的数量。例如,在第一行中,您需要 5 个星号、0 个句点。然后您需要 4 个星号和 1 个句点,然后是 3 个星号和 2 个句点,依此类推...

然后,当您找出每一行的这些值时,尝试找到一个模式。所以我们可以看到,当 i 为 0 时,我们需要 5 个星号(5-i)和 0 个句点(i - 0)。当 i 为 1 时,我们需要 4 个星号 (5-i) 和 1 个句号 (i - 0)。等等...从那里,我们可以看到for循环的结构需要与i相关。

关于java - 尝试反转嵌套 for 循环的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54696645/

相关文章:

java - 如何在 Java 中向下移动表格?

java - 从 android studio 执行 shell 脚本

java - if-else 中嵌套 do-while 循环 : variable not initialized

C++模板制作具有不同常量的多个版本的函数

C++ 嵌套迭代器

java - 返回实体列表而不是对象列表

java - Kotlin:ObjectBox 的组合实体类和 kotlinx.Serialization 有冲突吗?

java - 导入 android.content.Context 后无法解析上下文;还

r - 如何在 R 中仅打破某些循环

python - 通过匹配列表中的字符串值在 Pandas 数据框中构建新列