Intellij idea Kotlin未解决的引用问题

Intellij idea Kotlin未解决的引用问题,intellij-idea,kotlin,Intellij Idea,Kotlin,到目前为止,除了这个,我什么都能做,不知道为什么,但我得到了这个错误未解决的参考:x对于最后一行打印(x) fun main(args:Array){ var liste=内部消息(3,19) var bolundu=1 对于(列表中的x) 对于(在内部传输中为y(2,x)) 如果(x%y!=0) 博伦杜=0 如果(bolundu==1) 打印(x) } 我不明白问题出在哪里,为什么它不能将x与for循环中的语句匹配?之所以会出现这种情况,是因为如果要在循环中计算多个语句,必须在Kotlin中

到目前为止,除了这个,我什么都能做,不知道为什么,但我得到了这个错误
未解决的参考:x
对于最后一行
打印(x)

fun main(args:Array){
var liste=内部消息(3,19)
var bolundu=1
对于(列表中的x)
对于(在内部传输中为y(2,x))
如果(x%y!=0)
博伦杜=0
如果(bolundu==1)
打印(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){
var liste=内部消息(3,19)
var bolundu=1
对于(列表中的x){
对于(在内部传输中为y(2,x)){
如果(x%y!=0){
博伦杜=0
}
}
}
如果(bolundu==1){
打印(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)
    }
}
fun main(args:Array){
var liste=内部消息(3,19)
var bolundu=1
对于(列表中的x){
对于(在内部传输中为y(2,x)){
如果(x%y!=0)
博伦杜=0
}
如果(bolundu==1)
打印(x)
}
}

之所以发生这种情况,是因为如果要在循环中计算多个语句,则必须在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){
var liste=内部消息(3,19)
var bolundu=1
对于(列表中的x){
对于(在内部传输中为y(2,x)){
如果(x%y!=0){
博伦杜=0
}
}
}
如果(bolundu==1){
打印(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)
    }
}
fun main(args:Array){
var liste=内部消息(3,19)
var bolundu=1
对于(列表中的x){
对于(在内部传输中为y(2,x)){
如果(x%y!=0)
博伦杜=0
}
如果(bolundu==1)
打印(x)
}
}

您的
for x
循环只包含一条语句:for y的
循环。如果要在循环中使用多个语句,请使用
{}
(最好对单个语句循环使用大括号,以明确其开始和结束位置)。对于x
循环,您的
只包含一条语句:对于y
循环,请使用
。如果您希望循环中包含多个语句,请使用
{}
。@GLHF如果您问如何解决此错误,我不知道使用括号的目的是什么code@GLHF你问如何解决这个错误,我不知道你的代码的目的是什么