java - 这个 For 循环是如何以这种方式打印的?
问题描述
我正在学习编码,今天我尝试了这个程序
for (cnt = 1; cnt <= 6; cnt++) {
for (int j = cnt; j <= 6; j++) {
System.out.print("*");
}
System.out.println();
}
我不明白它是如何打印反向金字塔的
******
*****
****
***
**
*
你能给我解释一下吗?
解决方案
那是因为int j = cnt
wherecnt
增加了,所以第二个循环的迭代次数会随着cnt
增加而减少。考虑一下
when cnt = 1
,第二个循环会打印 6 次
when cnt = 2
,第二个循环会比之前少打印一次。等等。所以这就是它要打印的内容:
******
*****
****
***
**
*
每行的数量*
减一。
推荐阅读
- java - “E/AndroidRuntime: FATAL EXCEPTION: main”在我尝试创建 SipFactory 实例时引起
- javascript - 将数组过滤到产品签入记录中的事件
- reactjs - 将所有 console.log 输出保存到本机反应的文件中
- python - 如何使用 python 评估 PMML 文件
- php - Laravel 5.8 withCount() 忽略了我的 where 语句
- mariadb - MariaDB 集群只同步空数据库和表,但不同步行
- graphql - Prisma: Field ... is not defined in ... input type OR type ... expected but non object was submitted
- javascript - 摩纳哥编辑器:findNextMatch 不适用于新行
- javascript - 如何动态更新多个对象数组中的特定对象
- postgresql - 在两个 PostgreSQL 表之间创建关系