我想使用
生成随机数java.util.Random(arg);
唯一的问题是,该方法只能接受一个参数,因此该数字始终介于0和我的参数之间。有没有办法在(比方说)200和500之间生成随机数?
答案 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);