从 java 中的加权选项中选择随机值
Choosing random value from weighted options in java
当用户点击时,必须从一组输出中随机选择一个输出。一个值的机会需要高于另一个值。例如,您单击一个按钮,您将收到 Bronze
、Silver
、Gold
或 Platinum
。显然,如果您随机点击,您应该获得青铜多于白银、多于黄金、多于白金。例如,它可能看起来像这样:
printRandom("Bronze", 30, "Silver", 20, "Gold", 10, "Platinum", 5, "You didn't get anything.");
最后的结果是你不幸得到 none。我一直难以让一个选项比另一个选项更常见,而不是首先选择一个值。谢谢。
如果您想保持简单,可以执行以下操作:
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.";
}
当用户点击时,必须从一组输出中随机选择一个输出。一个值的机会需要高于另一个值。例如,您单击一个按钮,您将收到 Bronze
、Silver
、Gold
或 Platinum
。显然,如果您随机点击,您应该获得青铜多于白银、多于黄金、多于白金。例如,它可能看起来像这样:
printRandom("Bronze", 30, "Silver", 20, "Gold", 10, "Platinum", 5, "You didn't get anything.");
最后的结果是你不幸得到 none。我一直难以让一个选项比另一个选项更常见,而不是首先选择一个值。谢谢。
如果您想保持简单,可以执行以下操作:
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.";
}