📜  如何从 Android 中的范围生成随机数?(1)

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

如何从 Android 中的范围生成随机数?

在 Android 中,我们可以通过 java.util.Random 类来生成随机数。但是,如果我们需要在一个指定的范围内生成随机数,该怎么办呢?以下是一些方法:

方法一:使用 Math.random()

Math.random() 可以生成一个0到1之间的随机数,我们可以用乘法和加法运算,将其转换为一个指定范围内的随机数。

int min = 0;
int max = 10;

int randomNum = (int) (Math.random() * (max - min + 1)) + min;

这里将 Math.random() 生成的随机数乘以 (max - min + 1),再加上 min,就可以得到一个在 minmax 之间的整数。

方法二:使用 Random 类

Random 类提供了 nextInt(int max) 方法来生成一个大于等于 0,小于 max 的随机整数。我们可以用这个方法来生成一个指定范围内的随机数。

int min = 0;
int max = 10;

Random random = new Random();
int randomNum = random.nextInt(max - min + 1) + min;

这里将 maxmin 的差加上1是因为 nextInt() 方法生成的随机数范围是 [0, max),所以需要结合 min 来计算范围内的随机数。

方法三:使用 Kotlin 的扩展函数

如果你使用 Kotlin 编写 Android 应用,可以使用扩展函数来生成一个指定范围内的随机数。

fun Random.nextInt(range: IntRange): Int {
    return range.start + nextInt(range.endInclusive - range.start)
}

val randomNum = Random().nextInt(0..10)

这里使用了 IntRangeRandom.nextInt() 方法来生成随机数。IntRange 用于表示一个整数范围,例如 0..10 表示从 0 到 10 的整数范围。nextInt() 方法会返回一个在此范围内的随机整数。

以上就是生成 Android 中指定范围内随机数的方法。你可以选择适合自己的方法来实现。