我想创建一些代码。其中包含一个数字输入,它将随机分成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)和被排除的界限。