【问题标题】:While loop in Kotlin Programming LanguageKotlin 编程语言中的 While 循环
【发布时间】:2017-06-01 06:50:24
【问题描述】:

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

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

【问题讨论】:

  • 什么不清楚? while 需要一个布尔表达式。 i-- 是 Int 类型。

标签: while-loop kotlin kotlin-extension


【解决方案1】:

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

所以你不能使用while(i--),但你可以使用while(i-- != 0)while(i-- &gt; 0)

【讨论】:

    【解决方案2】:

    Kotlin while loops manual

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

    【讨论】:

      【解决方案3】:

      虽然需要一个布尔值(真/假),但您给出一个整数 (i-1)。正确的代码可能是:

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

      【讨论】:

        猜你喜欢
        • 2015-02-13
        • 2012-01-05
        • 2015-04-24
        • 2015-03-09
        • 1970-01-01
        • 2016-09-03
        • 2016-03-07
        相关资源
        最近更新 更多