我需要使用Java生成随机整数,但在单边有界特定范围内随机。例如,15+的范围意味着唯一的约束是整数可以采用的最低值是15。
答案 0 :(得分:3)
Random rand = new Random();
int min=15;
int randomNum = rand.nextInt((2147483647 - min) + 1)+ min;
答案 1 :(得分:1)
您可以像这样创建一个简单的randomInRange
函数:
您只想创建一次Random
对象,因此每次调用randomInRange()
函数时都不需要重新播种。
Random rand;
// ...
// where you initialize stuff (for example the class constructor)
rand = new Random();
// ...
int randomInRange(int min, int max) {
return rand.nextInt((max - min) + 1) + min;
}
如果您只想拥有最小值,可以创建另一种方法,如:
int randomFrom(int min) {
return randomInRange(min, Integer.MAX_VALUE);
}
我建议您创建一个单独的Utilities
类,其中包含static
这些方法,您可以通过Utilities.randomInRange()
来调用它们
如果这些是你需要的唯一实用方法,你当然可以在课堂上static
制作它们