我正在寻找创建一些代码。其中将包含一个数字输入,该数字输入将随机分为4个不同的位置,每个位置都有一个不能超过的限制。我想使用小数,但是在我的情况下,也可以使用int然后在以后为演示添加小数。我在这里举一个例子。
输入4920
1不能超过6500,
2不能超过1700,
3不能超过9000,
4个不能超过1700
但是每次我需要数字完全随机的位置时,因此每个地方每次都返回一个不同的数字,而没有一个数字超出其限制。它们可以等于其极限,但是我希望数字不要一直处于最大状态,或者最大为3,最大为3。
我真的不知道从哪里开始,在这个阶段,我所做的只是能够使用一定百分比来锻炼他们去的地方。基本,但没有检查就没有随机性。输入永远不会超过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);
}
}
答案 0 :(得分:0)
您可以使用Random.nextInt(int bound)
生成一个介于0和所需范围之间的新随机数。
如果我正确理解了您的用例,那么您希望随机数取决于您的输入,因此可以随时编写一种根据您的输入计算此范围的方法。
请注意,nextInt(int bound)
返回的随机数介于0(包括0)和您的已排除的边界之间。