雙色球復式投注的核心在於計算「從 n 個紅球中選 6 個」與「從 m 個藍球中選 1 個」的組合數乘積。本文提供一個基於 AWT 的桌面小工具,具備紅/藍球號碼選擇、即時試算、結果顯示與重置功能,程式碼精簡易懂,適合初學者參考事件驅動與組合數學邏輯。
List 元件,橙色背景)List 元件,藍色背景)TextArea 顯示試算明細組合數公式:C(n,6) × m,其中 C(n,6) = n! / (6! × (n-6)!)。
long count(int red, int blue) {
long p = 1, c = 1;
// 分子:n × (n-1) × ... × (n-5)
for (int j = red - 5; j <= red; j++) p *= j;
// 分母:6!
for (int i = 1; i <= 6; i++) c *= i;
return (p / c) * blue; // 總注數
}
// 金額 = 注數 × 2 元
程式以 ItemListener 監聽雙選單變化,即時呼叫 print() 更新畫面。
List 點選 → 觸發 itemStateChanged → 暫存選值。print(red, blue) 試算並追加至 TextArea。System.exit(0)。