如何在一定范围内生成随机数?

use*_*651 46 random android numbers generator range

如何使用Eclipse创建在Android中生成随机数的应用程序,然后在TextView字段中显示结果?随机数必须在用户选择的范围内.因此,用户将输入范围的最大值和最小值,然后我将输出答案.

Fan*_*mas 119

延伸Rahul Gupta说的话:

您可以使用Java函数int random = Random.nextInt(n).
这会int在范围内返回一个随机数[0, n-1].

即,要[20, 80]使用范围:

final int random = new Random().nextInt(61) + 20; // [0, 60] + 20 => [20, 80]
Run Code Online (Sandbox Code Playgroud)

概括更多:

final int min = 20;
final int max = 80;
final int random = new Random().nextInt((max - min) + 1) + min;
Run Code Online (Sandbox Code Playgroud)


Nar*_*iya 16

Random r = new Random();
int i1 = r.nextInt(45 - 28) + 28;
Run Code Online (Sandbox Code Playgroud)

这给出了28(包括)和45(不包括)之间的随机整数,28,29,...,43,44之一.

  • 从这里复制的答案:/sf/answers/422066361/ 至少考虑给予原始答案的信任。 (8认同)

Gil*_* SH 6

private int getRandomNumber(int min,int max) {
    return (new Random()).nextInt((max - min) + 1) + min;
}
Run Code Online (Sandbox Code Playgroud)


Dep*_*ver 5

另外,从API级别21开始,这是可能的:

int random = ThreadLocalRandom.current().nextInt(min, max);
Run Code Online (Sandbox Code Playgroud)

  • 在这里过于频繁地返回相同的数字。坏的经验! (4认同)