首页 > 解决方案 > 这个 For 循环是如何以这种方式打印的?

问题描述

我正在学习编码,今天我尝试了这个程序

for (cnt = 1; cnt <= 6; cnt++) {
    for (int j = cnt; j <= 6; j++) {
        System.out.print("*");
    }
    System.out.println();
}

我不明白它是如何打印反向金字塔的

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

你能给我解释一下吗?

标签: java

解决方案


那是因为int j = cntwherecnt增加了,所以第二个循环的迭代次数会随着cnt增加而减少。考虑一下
when cnt = 1,第二个循环会打印 6 次
when cnt = 2,第二个循环会比之前少打印一次。等等。所以这就是它要打印的内容:

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

每行的数量*减一。


推荐阅读