获取java中特定范围内的随机数

imu*_*ion 13 java random

可能重复:
Java:生成范围内的随机数

我想使用生成随机数

java.util.Random(arg);
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,该方法只能接受一个参数,因此该数字始终在0和我的参数之间.有没有办法在(比方说)200和500之间生成随机数?

Cos*_*ter 30

Random rand = new Random(seed);
int random_integer = rand.nextInt(upperbound-lowerbound) + lowerbound;
Run Code Online (Sandbox Code Playgroud)


pca*_*cao 6

首先,您必须创建一个Random对象,例如:

Random r = new Random();
Run Code Online (Sandbox Code Playgroud)

然后,如果你想要一个int值,你应该使用nextInt int myValue = r.nextInt(max);

现在,如果你想在一个区间内,只需:

 int myValue = r.nextInt(max-offset)+offset;
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

 int myValue = r.nextInt(300)+200;
Run Code Online (Sandbox Code Playgroud)

你应该查看文档:

http://docs.oracle.com/javase/6/docs/api/java/util/Random.html