用Java写一 按照每个奖品中奖概率进行抽奖
时间: 2023-08-14 19:04:54 浏览: 120
用java写的抽奖程序
4星 · 用户满意度95%
好的,下面是一个简单的 Java 程序,可以按照每个奖品中奖概率进行抽奖:
```java
import java.util.*;
public class Lottery {
public static void main(String[] args) {
// 奖品列表,每个奖品对应的中奖概率
List<Prize> prizes = new ArrayList<>();
prizes.add(new Prize("一等奖", 0.01));
prizes.add(new Prize("二等奖", 0.05));
prizes.add(new Prize("三等奖", 0.1));
prizes.add(new Prize("参与奖", 0.84));
// 计算中奖概率总和
double sum = 0;
for (Prize p : prizes) {
sum += p.probability;
}
// 抽奖
Random rand = new Random();
double randNum = rand.nextDouble() * sum;
double tempSum = 0;
for (Prize p : prizes) {
tempSum += p.probability;
if (randNum < tempSum) {
System.out.println("恭喜您获得了 " + p.name);
break;
}
}
}
}
// 奖品类
class Prize {
String name; // 奖品名称
double probability; // 中奖概率
public Prize(String name, double probability) {
this.name = name;
this.probability = probability;
}
}
```
程序中,我们首先定义了一个奖品列表,每个奖品包含名称和中奖概率两个属性。然后,我们计算出所有中奖概率的总和,用于生成随机数,并按照中奖概率从小到大逐个判断是否中奖。最后,输出中奖结果。
阅读全文