java - Java 概率(基于百分比)3 个选择
问题描述
我只是想确认这段代码对于我正在寻找的内容是正确的。基本上,我想在调用此函数时将某个数字从某种稀有度中推出。现在的稀有几率是 15%、20% 和 65% 普通几率。但是,在重新阅读我的代码后,似乎 20% 的机会实际上比 15% 的机会低,这并不理想。有人可以帮我检查一下吗?谢谢!
public void roll() {
float rarity = random.nextFloat();
if(rarity <= 0.15f) {
// Roll Legendary Item
} else if(rarity <= 0.35) {
// Roll Rare Item
} else {
// Roll Common Item
}
}
解决方案
它应该是
else if(rarity <= 0.35f)
你的代码写法,目前是15%-5%-80%
推荐阅读
- css - 一个 SVG 类悬停可以影响另一个 SVG 元素
- npm - 主机名/IP 与证书的替代名称不匹配:“主机:registry.npmjs.org。不在证书的替代名称中
- mysql - MySQL 选择未读消息
- php - 在 JavaScript 中生成原始 MD5
- php - Curl_exec 返回 404 not found 错误,而 url 在浏览器中找到
- mysql - 如何在 MySQL 中按月分组并获得结果,即使几个月对它们没有价值
- python - sys.getrefcount(a) 的详细信息
- ruby-on-rails - 使用 Cucumber 编写测试时如何验证 api 的响应
- android - 使用 orderByChild 查询从 Firebase 获取数据
- android - 用户定义的 Android 闪屏背景