我希望生成1500和1650之间的随机整数.
我已成功生成25到55之间的随机值(代码如下).然而,我遇到的问题是,如果我调整代码以生成介于1500和1650之间的值,结果最终会向我提供值1500,因为生成的大多数数字都低于该值,并且我的if声明设置低于1500到1500的任何东西.
Random rand = new Random();
double angle = rand.nextInt(55);
if(angle < 25){
angle = 25;
}
double muzzlevelocity = rand.nextInt(1500) + 150;
if(muzzlevelocity < 1500){
muzzlevelocity = 1500;
}
if(muzzlevelocity > 1650){
muzzlevelocity = 1650;
}
Run Code Online (Sandbox Code Playgroud)
我偶尔(尽管很少)实现1500到1650之间的结果.还有另一种(更简单/更直接)的方式可以实现我想要的结果吗?
示例输出如下:
输出1:
Random Angle: 25.0
Random Muzzle Velocity: 1500.0
Run Code Online (Sandbox Code Playgroud)
输出2的3:
Random Angle: 30.0
Random Muzzle Velocity: 1573.0
Run Code Online (Sandbox Code Playgroud)
输出3:
Random Angle: 43.0
Random Muzzle Velocity: 1500.0
Run Code Online (Sandbox Code Playgroud)
谢谢.
Ern*_*ill 13
你已经倒退了; 你要
rand.nextInt(151) + 1500
Run Code Online (Sandbox Code Playgroud)
从1500开始创建150个不同的值.注意我已经使用了151而不是150,因为你想要包含上限."if/else"是完全不必要的; 所有值都在您想要的范围内.