【发布时间】:2022-01-19 18:25:08
【问题描述】:
当用户点击时,必须从一组输出中选择一个随机输出。一个值的机会需要高于另一个值。例如,您单击一个按钮,您将收到Bronze、Silver、Gold 或Platinum。显然,如果你随机点击,你应该会收到比白银多、比黄金多、比白金多的青铜。例如,它可能看起来像这样:
printRandom("Bronze", 30, "Silver", 20, "Gold", 10, "Platinum", 5, "You didn't get anything.");
最终的结果是当你不幸一无所获时。我一直无法让一个选项比另一个更常见,而不是一开始就选择一个值。谢谢。
【问题讨论】:
-
Apache Commons RNG 库为此提供了类。
-
30是重量还是百分比?如果它是一个重量,那么“你什么都没得到”就失去了它的重量。否则,我们是否假设它是 35%?
-
我只是把数字表示一个选项的可能性有多大。由于 30 比 20 多,所以会多选 30。