Random.nextDouble所在位置是kotlin.random.Random.nextDouble,其相关用法介绍如下。

用法一

open fun nextDouble(): Double
fun nextDouble(): Double

获取下一个随机 Double 值,均匀分布在 0(包括)和 1(不包括)之间。

例子:

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
if (Random.nextDouble() <= 0.3) {
    println("There was 30% possibility of rainy weather today and it is raining.")
} else {
    println("There was 70% possibility of sunny weather today and the sun is shining.")
}
//sampleEnd
}

输出:

There was 70% possibility of sunny weather today and the sun is shining.

用法二

open fun nextDouble(until: Double): Double
fun nextDouble(until: Double): Double

从随机数生成器中获取小于指定 until 界限的下一个随机非负 Double

生成在 0(包括)和 until(不包括)之间均匀分布的 Double 随机值。

例子:

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
val firstAngle = Random.nextDouble(until = Math.PI / 6);
println("sin(firstAngle) < 0.5 is ${sin(firstAngle) < 0.5}") // true

val secondAngle = Random.nextDouble(from = Math.PI / 6, until = Math.PI / 2)
val sinValue = sin(secondAngle)
println("sinValue >= 0.5 && sinValue < 1.0 is ${sinValue >= 0.5 && sinValue < 1.0}") // true
//sampleEnd
}

输出:

sin(firstAngle) < 0.5 is true
sinValue >= 0.5 && sinValue < 1.0 is true

异常

IllegalArgumentException- 如果直到是负数或零。

用法三

open fun nextDouble(from: Double, until: Double): Double
fun nextDouble(from: Double, until: Double): Double

从指定范围内的随机数生成器中获取下一个随机Double

生成在指定的from(包括)和until(不包括)边界之间均匀分布的Double 随机值。

fromuntil 必须是有限的,否则行为未指定。

例子:

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
val firstAngle = Random.nextDouble(until = Math.PI / 6);
println("sin(firstAngle) < 0.5 is ${sin(firstAngle) < 0.5}") // true

val secondAngle = Random.nextDouble(from = Math.PI / 6, until = Math.PI / 2)
val sinValue = sin(secondAngle)
println("sinValue >= 0.5 && sinValue < 1.0 is ${sinValue >= 0.5 && sinValue < 1.0}") // true
//sampleEnd
}

输出:

sin(firstAngle) < 0.5 is true
sinValue >= 0.5 && sinValue < 1.0 is true

异常

IllegalArgumentException- 如果大于或等于直到.