Kotlin未解决的参考问题
我能够做到这一切除了这一点,不知道为什么,但我得到了这个错误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) }
我不明白是什么问题,为什么它不匹配for循环中的那个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<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) } }