亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java指定概率抽獎怎么實現

小億
147
2023-08-31 01:00:49
欄目: 編程語言

要實現一個指定概率抽獎的功能,可以按照以下步驟進行操作:

  1. 定義獎品及其對應的中獎概率。可以使用一個數據結構(如Map)來存儲獎品和概率的鍵值對關系,如:prizes = {“獎品A”: 0.1, “獎品B”: 0.2, “獎品C”: 0.3, “獎品D”: 0.4},其中概率之和應為1。

  2. 生成一個隨機小數r,范圍在0到1之間。

  3. 遍歷獎品及其概率,累計概率并與隨機小數r進行比較,直到找到第一個累計概率大于等于r的獎品,即為中獎獎品。

下面是一個示例代碼實現:

import java.util.*;
public class Lottery {
public static void main(String[] args) {
Map<String, Double> prizes = new HashMap<>();
prizes.put("獎品A", 0.1);
prizes.put("獎品B", 0.2);
prizes.put("獎品C", 0.3);
prizes.put("獎品D", 0.4);
String luckyPrize = drawLottery(prizes);
System.out.println("中獎獎品是:" + luckyPrize);
}
public static String drawLottery(Map<String, Double> prizes) {
double r = Math.random();
double accumulateProb = 0.0;
for (Map.Entry<String, Double> entry : prizes.entrySet()) {
accumulateProb += entry.getValue();
if (accumulateProb >= r) {
return entry.getKey();
}
}
return null; // 如果概率之和不為1或者沒有獎品,則返回null
}
}

這個示例中,我們使用HashMap來存儲獎品和概率的關系,通過遍歷HashMap中的鍵值對,累計概率并與隨機數進行比較,找到第一個累計概率大于等于隨機數的獎品,即為中獎獎品。

0
徐水县| 通化市| 万盛区| 新绛县| 开化县| 宁武县| 彝良县| 和平县| 东光县| 武胜县| 新乐市| 沂水县| 丽江市| 乐东| 万载县| 马关县| 邯郸市| 连州市| 正宁县| 吴桥县| 黄浦区| 临颍县| 陆丰市| 马山县| 彭州市| 威远县| 屯昌县| 科技| 察隅县| 桐梓县| 辰溪县| 肥东县| 秦皇岛市| 开鲁县| 陆良县| 周宁县| 黄山市| 盈江县| 黑龙江省| 利津县| 商洛市|