Когда вы пишете val / var в конструкторе для параметра, он объявляет свойство внутри класса.Когда вы не пишете это, это просто параметр, передаваемый первичному конструктору.Так что просто добавьте val к тексту параметра конструктора, который сделает его свойством с помощью метода get, и выше программа будет работать ..
import java.util.*
class Answers {
enum class Answer(val text: String) {
YES("Yes."),
No("No."),
MAYBE("Maybe."),
AGAIN("Ask again.")
}
val answers: Array<Answer> = Answer.values()
val rand = Random()
fun genAnswer ():String {
val n = rand.nextInt(3)+1
return answers[n].text
}
}
fun main(String: Array<String>) {
print(Answers().genAnswer())
}