所需的输出是两个浮点之间的随机浮点。这就是我这样做的方式,但该方法不适用于负浮点数,例如:-1f和-30f之间的随机浮点数,因为边界必须为正数,并且我得到IllegalArgumentException。它看起来也很复杂...如果您有一种更简单的方法,那就好用了。干杯!
unitsConsumed = rnd.nextInt(Math.round(maxUnitsConsumed-minUnitsConsumed))+minUnitsConsumed;
rnd是Random的实例。
答案 0 :(得分:4)
您可以使用下面的代码来实现这一点,其中min是您的最小值,max是您的最大值:
float random= rnd.nextFloat() * (max - min) + min;
答案 1 :(得分:2)
尝试
public static void main(String[] args) {
Random rand = new Random();
float result = rand.nextFloat() * (-1f - (-30f)) + (-30f);
System.out.println(result);
}