所需的输出是两个浮点数之间的随机浮点数。这就是我所做的,但此方法不适用于负浮点数,例如:-1f 和 -30f 之间的随机浮点数,因为界限必须为正,并且我得到 IllegalArgumentException。它看起来也很复杂......如果你有一个更简单的方法那就太好了。干杯!
unitsConsumed = rnd.nextInt(Math.round(maxUnitsConsumed-minUnitsConsumed))+minUnitsConsumed;
Run Code Online (Sandbox Code Playgroud)
其中 rnd 是 Random 的实例。
小智 5
您可以使用下面的代码来实现此目的,其中 min 是最小值,max 是最大值:
float random= rnd.nextFloat() * (max - min) + min;
Run Code Online (Sandbox Code Playgroud)