我正在尝试找出这个嵌套 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/