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

时间:2012-07-31 15:11:09

标签: java random

  

可能重复:
  Java: generating random number in a range

我想使用

生成随机数
java.util.Random(arg);

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

4 个答案:

答案 0 :(得分:29)

Random rand = new Random(seed);
int random_integer = rand.nextInt(upperbound-lowerbound) + lowerbound;

答案 1 :(得分:6)

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

Random r = new Random();

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

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

 int myValue = r.nextInt(max-offset)+offset;

在你的情况下:

 int myValue = r.nextInt(300)+200;

您应该查看文档:

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

答案 2 :(得分:3)

我认为你误解了Random的工作原理。它不返回一个整数,它返回一个Random对象,其参数为PRNG的种子值

Random rnd = new Random(seed);
int myRandomValue = 200 + rnd.nextInt(300);

答案 3 :(得分:1)

传递给构造函数的arg是种子,而不是绑定。

要获得介于200和500之间的数字,请尝试以下操作:

Random random = new Random(); // or new Random(someSeed);
int value = 200 + random.nextInt(300);