【发布时间】:2019-09-06 12:17:50
【问题描述】:
我正在寻找创建一些代码。这将包含一个数字输入,它将随机分成 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);
}
}
【问题讨论】:
-
老实说,我没有得到你的榜样,也没有得到你想要达到的目标。你想分裂什么?这些限制与输入有何关系,例如如果输入不能高于 4950,为什么会有 6500 或 9000 的限制?这些数字是什么意思?
-
请提供minimal reproducible example,因为不清楚您在问什么。