共計 824 個字符,預計需要花費 3 分鐘才能閱讀完成。
要實現一個指定概率抽獎的功能,可以按照以下步驟進行操作:
- 定義獎品及其對應的中獎概率。可以使用一個數據結構(如 Map)來存儲獎品和概率的鍵值對關系,如:prizes = {“ 獎品 A ”: 0.1, “ 獎品 B ”: 0.2, “ 獎品 C ”: 0.3, “ 獎品 D ”: 0.4},其中概率之和應為 1。
- 生成一個隨機小數 r,范圍在 0 到 1 之間。
- 遍歷獎品及其概率,累計概率并與隨機小數 r 進行比較,直到找到第一個累計概率大于等于 r 的獎品,即為中獎獎品。
下面是一個示例代碼實現:
import java.util.*;
public class Lottery {public static void main(String[] args) {Map 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 prizes) {double r = Math.random();
double accumulateProb = 0.0;
for (Map.Entry entry : prizes.entrySet()) {accumulateProb += entry.getValue();
if (accumulateProb >= r) {return entry.getKey();
}
}
return null; // 如果概率之和不為 1 或者沒有獎品,則返回 null
}
}
這個示例中,我們使用 HashMap 來存儲獎品和概率的關系,通過遍歷 HashMap 中的鍵值對,累計概率并與隨機數進行比較,找到第一個累計概率大于等于隨機數的獎品,即為中獎獎品。
丸趣 TV 網 – 提供最優質的資源集合!
正文完