无法创建抽象类的实例(随机)

时间:2019-05-23 10:04:06

标签: random kotlin

我正在尝试学习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语句返回错误。请帮助我理解并修复此代码。

2 个答案:

答案 0 :(得分:3)

只需删除括号:Random.nextInt(7)

像这样,它使用类Default的伴随对象(Random)实现默认行为的抽象类Random

documentation

  

伴随对象Random.Default是Random的默认实例

答案 1 :(得分:0)

发生这种情况是因为您试图调用抽象类的功能,但是抽象类没有实例。相反,您可以使用随机随播对象中的静态函数

Random.nextInt(yourIntValue)