Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有带分裂和限制的随机数生成器?_Java_Random_Int_Double - Fatal编程技术网

Java 是否有带分裂和限制的随机数生成器?

Java 是否有带分裂和限制的随机数生成器?,java,random,int,double,Java,Random,Int,Double,我希望创建一些代码。这将包括一个数字输入,将随机分为4个不同的地方,每个地方有一个限制,它不能超过。我想使用小数,但在我的例子中,使用int,然后添加一个小数,只是为了表示。我在这里举个例子 输入4920 1不能超过6500, 2不能超过1700, 3不能超过9000, 4不能超过1700 但是每次我都需要这些数字是完全随机的,所以每个地方每次都返回一个不同的数字,而没有一个超过它们的极限。它们可以等于它们的极限,但我希望数字不要一直处于最大值,或者3是最大值,1是低于最大值 我真的不知道从哪里

我希望创建一些代码。这将包括一个数字输入,将随机分为4个不同的地方,每个地方有一个限制,它不能超过。我想使用小数,但在我的例子中,使用int,然后添加一个小数,只是为了表示。我在这里举个例子

输入4920

1不能超过6500,
2不能超过1700,
3不能超过9000,
4不能超过1700

但是每次我都需要这些数字是完全随机的,所以每个地方每次都返回一个不同的数字,而没有一个超过它们的极限。它们可以等于它们的极限,但我希望数字不要一直处于最大值,或者3是最大值,1是低于最大值

我真的不知道从哪里开始,在这个阶段,我所做的就是能够用一个百分比来训练他们去哪里。基本的,但没有检查就没有随机性。输入将永远不会超过4950,因为如果用户试图输入更高的值,我将使其抛出并出错

下面是基本的想法,但这总是会产生一个百分比,所以无论输入什么数字都会产生相同的结果。我只是在寻找这个,但随机性

它用于通过将总质量分散到所有轴组来计算卡车的轴重,但每个轴组都有限制。因此,在这种卡车组合中,总重量不能也不会超过49.50,轴组不能超过6.5、17.0、9.0和17.0

下面的代码基本上是我们现在手动执行的,但是需要一些随机性,所以结果并不总是一样的

public static void main(String[] args) 
    {
    double GrossWeight, SteerWeight, DriveWeight, DollyWeight, BogieWeight;
    System.out.println("PBS2 3 Axle Truck and 3 Axle Dog Combination Only");
    System.out.print("Enter Gross Weight:");
    Scanner Scan = new Scanner (System.in);
    GrossWeight = Scan.nextDouble();

    SteerWeight = (GrossWeight/0.1313);
    System.out.print("Steer Axle Weight:");
    System.out.println(SteerWeight);

    DriveWeight = (GrossWeight/0.3434);
    System.out.print("Drive Axle Weight:");
    System.out.println(DriveWeight);

    DollyWeight = (GrossWeight/0.1818);
    System.out.print("Dolly Axle Weight:");
    System.out.println(DollyWeight);

    BogieWeight = (GrossWeight/0.3434);
    System.out.print("Bogie Axle Weight:");
    System.out.println(BogieWeight);
    }

}

您可以使用
Random.nextInt(int-bound)
生成一个介于0和所需边界之间的新随机数。
如果我正确理解了您的用例,那么您希望随机数取决于您的输入,因此可以编写一个基于您的输入计算此界限的方法


请注意,
nextInt(int-bound)
返回一个介于0(包括0)和被排除的界之间的随机数

老实说,我不了解您的示例,也不了解您试图实现的目标。你想分什么?这些限制如何与输入相关,例如,如果输入不能高于4950,为什么会有6500或9000的限制?这些数字意味着什么?请提供一个答案,因为不清楚你在问什么。