可能重复:
Java:生成范围内的随机数
我想在逻辑范围内生成一个随机int.所以,比如说,我正在编写一个程序来"滚动"具有指定数量边的骰子.
public int rollDice() {
Random generator = new Random();
return generator.nextInt(sides);
}
现在的问题变成,这将返回值两侧和零之间的包容性,这是没有意义的,因为大多数的骰子从1到6,9,等等.所以,我怎么可以指定nextInt应该在1和侧面的数量之间的合作?
Eya*_*der 46
要在from和to(包含)之间生成随机int值(均匀分布),请使用:
from + rndGenerator.nextInt(to - from + 1)
Run Code Online (Sandbox Code Playgroud)
在你的情况下(1..sides):
1 + rndGenerator.nextInt(sides)
Run Code Online (Sandbox Code Playgroud)