2017-06-01 2 views
0

In meinem Kotlin-Code bekomme ich Typ Mismatch (abgeleitete Art ist Int aber Boolean wurde erwartet) Fehler.While-Schleife in Kotlin Programmiersprache

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

Was ist unklar? while erwartet einen booleschen Ausdruck. i-- ist vom Typ Int. –

Antwort

3

Sie haben einen Booleschen Wert als Argument while zu liefern. Es gibt kein Autocasting von Int zu in Kotlin.

So können Sie nicht while(i--) tun, aber Sie können zum Beispiel while(i-- != 0) oder while(i-- > 0) tun.

+0

danke für die antwort –

1

während erwartet ein boolean (wahr/falsch), geben Sie eine ganze Zahl (i-1). korrekter Code könnte sein:

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