可能重复:
Java:在一个范围内生成随机数
我想使用生成随机数
java.util.Random(arg);
唯一的问题是,该方法只能接受一个参数,所以这个数字总是在 0 和我的参数之间。有没有办法生成(比如说)200 到 500 之间的随机数?
可能重复:
Java:在一个范围内生成随机数
我想使用生成随机数
java.util.Random(arg);
唯一的问题是,该方法只能接受一个参数,所以这个数字总是在 0 和我的参数之间。有没有办法生成(比如说)200 到 500 之间的随机数?
Random rand = new Random(seed);
int random_integer = rand.nextInt(upperbound-lowerbound) + lowerbound;
首先,您必须创建一个 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
我认为您误解了 Random 的工作原理。它不返回整数,而是返回一个 Random 对象,其参数是 PRNG 的种子值。
Random rnd = new Random(seed);
int myRandomValue = 200 + rnd.nextInt(300);
您传递给构造函数的参数是种子,而不是绑定。
要获得 200 到 500 之间的数字,请尝试以下操作:
Random random = new Random(); // or new Random(someSeed);
int value = 200 + random.nextInt(300);