📜  kotlin 中的随机类(1)

📅  最后修改于: 2023-12-03 15:32:30.644000             🧑  作者: Mango

Kotlin 中的随机类

在 Kotlin 中,可以使用 kotlin.random 包中的 Random 类来生成随机数。Random 类提供了多种方法来生成随机数,如 nextInt(), nextDouble() 等。

使用 Random 类生成随机数
import kotlin.random.Random

fun main() {
    val random = Random(System.currentTimeMillis())
    val randomInt = random.nextInt()
    val randomDouble = random.nextDouble()
    println("Random Integer: $randomInt")
    println("Random Double: $randomDouble")
}

在上面的代码中,我们创建了一个 Random 对象,并使用当前时间的毫秒数作为种子来初始化它。然后,我们使用 nextInt() 和 nextDouble() 方法分别生成一个随机整数和一个随机浮点数。

输出:

Random Integer: -662714514
Random Double: 0.9786977723344205
生成指定范围内的随机数
import kotlin.random.Random

fun main() {
    val random = Random(System.currentTimeMillis())
    val range = 1..10
    val randomIntInRange = random.nextInt(range)
    println("Random Integer in Range $range: $randomIntInRange")
}

在上面的代码中,我们使用 nextInt() 方法生成在指定范围内(1~10)的随机整数。

输出:

Random Integer in Range 1..10: 7
生成随机字符串
import kotlin.random.Random

fun main() {
    val charPool : List<Char> = ('a'..'z') + ('A'..'Z') + ('0'..'9')
    val randomString = (1..10)
        .map { Random.nextInt(0, charPool.size) }
        .map(charPool::get)
        .joinToString("")
    println("Random String: $randomString")
}

在上面的代码中,我们使用 charPool 来定义我们想要产生随机字符串的字符范围,然后使用 Random.nextInt() 方法在字符池中随机取出字符,拼接成一个长度为 10 的随机字符串。

输出:

Random String: x3m1m7vky8