如何用Kotlin的while循环实现从1000到0步长为10的递减计数?
实现原理说明
你原本的逐1递减逻辑核心是两个规则:循环判断条件控制输出边界、循环末尾更新变量控制步长。要改成每次减10、输出到0的效果,只需要对应调整这两个规则即可:
- 步长调整:把原来每次减1的
i--(等价于i = i - 1)修改为每次减10的i -= 10(等价于i = i - 10) - 边界调整:原来的
i > 0条件会导致0不会被输出,要输出到0就把条件修改为i >= 0,保证i等于0时依然能进入循环完成输出
完整可运行代码
fun main(args: Array<String>) { var i = 1000 while (i >= 0) { println(i) i -= 10 } }
执行逻辑验证
可以通过关键节点的运行过程确认效果符合预期:
- 初始i=1000,满足
i >= 0条件,输出1000,i更新为990 - 第二次循环i=990,满足条件,输出990,i更新为980
- ……中间循环依次输出970、960……10
- 最后一次有效循环i=0,满足条件,输出0,i更新为-10
- 下一轮判断i=-10不满足
i >= 0,循环终止
内容的提问来源于stack exchange,提问作者MissMacDaddy
相关产品推荐
相关产品推荐

