📅  最后修改于: 2023-12-03 15:37:54.011000             🧑  作者: Mango
在 Android 中,我们可以通过 java.util.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
,就可以得到一个在 min
和 max
之间的整数。
Random
类提供了 nextInt(int max)
方法来生成一个大于等于 0,小于 max 的随机整数。我们可以用这个方法来生成一个指定范围内的随机数。
int min = 0;
int max = 10;
Random random = new Random();
int randomNum = random.nextInt(max - min + 1) + min;
这里将 max
和 min
的差加上1是因为 nextInt()
方法生成的随机数范围是 [0, max),所以需要结合 min
来计算范围内的随机数。
如果你使用 Kotlin 编写 Android 应用,可以使用扩展函数来生成一个指定范围内的随机数。
fun Random.nextInt(range: IntRange): Int {
return range.start + nextInt(range.endInclusive - range.start)
}
val randomNum = Random().nextInt(0..10)
这里使用了 IntRange
和 Random.nextInt()
方法来生成随机数。IntRange
用于表示一个整数范围,例如 0..10
表示从 0 到 10 的整数范围。nextInt()
方法会返回一个在此范围内的随机整数。
以上就是生成 Android 中指定范围内随机数的方法。你可以选择适合自己的方法来实现。