从java中的加权选项中选择随机值



当用户单击时,必须从一组输出中选择一个随机输出。一个值的机会需要高于另一个值。例如,单击某个按钮,就会收到BronzeSilverGoldPlatinum。显然,如果你随机点击,你应该得到青铜多于白银,多于黄金,多于白金。例如,它可能看起来像这样吗:

printRandom("Bronze", 30, "Silver", 20, "Gold", 10, "Platinum", 5, "You didn't get anything.");

当你运气不好,没有得到任何结果时,最终的结果是什么。我一直很难让一个选项比另一个更常见,而不是一开始就选择一个值。非常感谢。

如果您想保持简单,可以执行以下操作:

int random = Math.random();
if (random < 0.05) { // 5/100
return "Platinum";
} else if (random < 0.1) { // 10/100
return "Gold";
} else if (random < 0.2) { // 20/100
return "Silver";
} else if (random < 0.3) { // 30/100
return "Bronze";
} else {
return "You didn't get anything.";
} 

最新更新