簡體   English   中英

Kotlin未解決的參考問題

[英]Kotlin unresolved reference issue

到目前為止,我能夠做所有事情,但是不知道為什么,但是我得到了這個錯誤Unresolved reference:x對於最后一行print(x)

fun main(args:Array<String>) {

    var liste = IntRange(3,19)

    var bolundu = 1

    for (x in liste)
        for (y in IntRange(2,x))
            if (x % y != 0)
                bolundu = 0

        if (bolundu == 1)
            print(x)
}

我不明白這是什么問題,為什么x與for循環中的那個不匹配?

發生這種情況是因為,如果在循環中要評估的語句多於一個,則必須在Kotlin中指定括號。

實際上,您的代碼與此代碼完全相同:

fun main(args:Array<String>) {
    var liste = IntRange(3,19)

    var bolundu = 1

    for (x in liste) {
        for (y in IntRange(2,x)) {
            if (x % y != 0) {
                bolundu = 0
            }
        }
    }
    if (bolundu == 1) {
        print(x)
    }
}

相反,您需要這樣的東西:

fun main(args:Array<String>) {
    var liste = IntRange(3,19)

    var bolundu = 1

    for (x in liste) {
        for (y in IntRange(2,x)) {
            if (x % y != 0)
                bolundu = 0
        }
        if (bolundu == 1)
            print(x)
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM