选择随机数但排除特定值

And*_*Dev 4 kotlin

在 Kotlin 中,我想选择一个 0 到 10 之间的随机值,但同时指定一个不应选择的值。例如,如果我指定不选择数字 5,它将跳过该值并仅从其他值中进行选择。

我可以轻松编写此代码,但可能会超过 3 行代码。我想知道是否有一种简单且更短的方法。

Tod*_*odd 6

您可以生成您关心的范围内的一系列数字,并取第一个不是您不关心的数字......

sequence<Int> { (1.. 10).random() }.first { it != 5 }
Run Code Online (Sandbox Code Playgroud)


mar*_*ran 5

获取 0 到 9 之间的值,如果该值是 5 或更大,则加 1。

val r = Random.nextInt(0, 10)
return if (r < 5) r else r + 1
Run Code Online (Sandbox Code Playgroud)