在 Kotlin 循环中连续执行 n 次

14

在 Kotlin 循环中,是否可以继续执行 n 次?

for(i in 0..n){
    doSomething()
    if(condition){
       //manipulate n
    }
}

由于某种原因,i 是一个值,我无法在循环中重新初始化它。


2
我认为你最好使用while循环。但这取决于你实际在做什么。 - Tim
在 Kotlin 中,你很少需要使用标准的 forwhile 循环。Kotlin 有许多先进的工具来解决大多数常见问题。你究竟想用那个循环实现什么? - m0skit0
我理解您想要从两个字符串中减去并返回一个整数数组。这对我来说没有意义,您能否请解释一下参数和返回值是什么? - m0skit0
@m0skit0,使用十进制进行纯二进制计算会更加困难。该应用程序的目的是让我学习二进制计算,因此我将其视为真正的二进制计算。 - Jonas Grønbek
那好吧。如果您想在循环内修改计数器的值,应该使用while。请注意,这被认为是一种不好的做法,也许您需要考虑另一个算法(还要注意,计算机中的减法实际上是用二进制补码的加法来实现的)。 - m0skit0
显示剩余2条评论
1个回答

35
repeat(n){
    blah()
}

将执行blah()n次。


为什么这没有立即被建议让我感到困惑。考虑到这个问题有600次浏览,尽管我已经不再使用Kotlin,但还是感谢你的回答。 - Jonas Grønbek
2
没问题 :) 希望对其他人有所帮助。 - John Doe
如果你想要一个运行计数,该怎么做?对于你的例子,如果函数有一个参数,比如 blah(count),会怎样? - SMBiggs
2
重复(3){索引-> blah(index) }https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/repeat.html - John Doe
重复使用的问题在于,不像例如for循环那样可以通过使用break提前结束执行,这使得它变得不那么直观。 - NeverEndingQueue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接