中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
九江县| 萨嘎县| 衡山县| 东光县| 任丘市| 宁夏| 英德市| 绿春县| 珲春市| 辽阳市| 柳江县| 大化| 衡水市| 襄垣县| 奉节县| 类乌齐县| 大庆市| 上虞市| 湘潭市| 清丰县| 登封市| 通城县| 翁源县| 万源市| 黄山市| 宁晋县| 宁南县| 巫山县| 长春市| 安丘市| 镇赉县| 牟定县| 华安县| 新巴尔虎右旗| 宝丰县| 缙云县| 余庆县| 鲜城| 溆浦县| 三穗县| 贵德县|