91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
麻阳| 滨海县| 朔州市| 台北县| 富锦市| 梅州市| 方城县| 汝州市| 松溪县| 郧西县| 时尚| 永平县| 柞水县| 巫溪县| 临邑县| 河间市| 阳新县| 比如县| 砀山县| 威远县| 昌平区| 连云港市| 襄城县| 湟源县| 皋兰县| 青阳县| 徐汇区| 信阳市| 全椒县| 霍州市| 东乌珠穆沁旗| 壶关县| 宣城市| 张家口市| 达孜县| 岐山县| 临西县| 扎囊县| 开化县| 平和县| 高邮市|