在Kotlin编程语言中循环

时间:2017-06-01 06:50:24

标签: while-loop kotlin kotlin-extension

在我的kotlin代码中我得到类型不匹配(推断类型是Int但是预期布尔值)错误。

fun main(args: Array<String>) {
   var i = args.size 
   while (i--){
    println(args[i])
   }
}

3 个答案:

答案 0 :(得分:3)

您必须提供一个布尔值作为while的参数。 Kotlin中没有IntBoolean的自动投射。

所以你不能while(i--),但你可以做while(i-- != 0)while(i-- > 0)

答案 1 :(得分:2)

<强> Kotlin while loops manual

while (x > 0) {
    x--
}

do {
    val y = retrieveData()
} while (y != null) // y is visible here!

答案 2 :(得分:1)

虽然期望一个布尔值(true / false),但你给出一个整数(i-1)。正确的代码可能是:

fun main(args: Array<String>) {
   var i = args.size 
   while (i>=0){
    println(args[i])
    i--
   }
}