是否有更优化/更有效的方法来做到这一点?尝试了一些事情,这似乎是正确的,但最好知道是否有更好的方法来做到这一点。这是给我的不和谐机器人的命令,命令为“ 8ball”,您向机器人询问一个问题,他会随机回答。
val num = Random.nextInt(1, 9)
var text = ""
when (num) {
1 -> text = "Yes"
2 -> text = "No"
3 -> text = "Maybe yes"
4 -> text = "Maybe no"
5 -> text = "I don't know"
6 -> text = "Ask csskrouble"
7 -> text = "Ask someone else"
8 -> text = "Rather yes"
9 -> text = "Rather no"
}
答案 0 :(得分:2)
您可以创建一个Set
,并要求一个随机值:
setOf(
"Yes",
"No",
"Maybe yes",
"Maybe no",
"I don't know",
"Ask csskrouble",
"Ask someone else",
"Rather yes",
"Rather no",
).random()
答案 1 :(得分:0)
您总是可以这样做:
val text = when (Random.nextInt(1, 10)) {
1 -> "Yes"
2 -> "No"
3 -> "Maybe yes"
4 -> "Maybe no"
5 -> "I don't know"
6 -> "Ask csskrouble"
7 -> "Ask someone else"
8 -> "Rather yes"
else -> "Rather no"
}
顺便说一句,在Random.nextInt(from, to)
中,from
是包含性的,但是to
是排除性的,这意味着使用9
永远不会得到Random.nextInt(1, 9)
的结果< / p>
是的,FreshD是正确的,您也可以这样做:
val text = listOf("Yes", "No", "etc").random()