我正在尝试学习Kotlin,所以我在网上学习了一个教程,讲师编写了一个与他们合作得很好的代码,但这给我带来了错误。
这是错误
错误:(26,17)Kotlin:无法创建抽象类的实例
import kotlin.random.Random
fun main(args: Array<String>) {
feedTheFish()
}
fun feedTheFish() {
val day = randomDay()
val food = "pellets"
print("Today is ${day} and the fish eat ${food}")
}
fun randomDay():String {
val week = listOf ("Monday", "Tuesday", "wednesday", "thursday", "friday", "saturday", "sunday")
return week[ Random().nextInt(7)]
}
我认为从Random语句返回错误。请帮助我理解并修复此代码。
答案 0 :(得分:3)
只需删除括号:Random.nextInt(7)
。
像这样,它使用类Default
的伴随对象(Random
)实现默认行为的抽象类Random
。
伴随对象Random.Default是Random的默认实例
答案 1 :(得分:0)
发生这种情况是因为您试图调用抽象类的功能,但是抽象类没有实例。相反,您可以使用随机随播对象中的静态函数
Random.nextInt(yourIntValue)