Java生成1500到1650之间的随机值

Mus*_*Guy 1 java random

我希望生成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"是完全不必要的; 所有值都在您想要的范围内.