java 实现按奖品概率抽奖
时间: 2023-05-21 22:01:24 浏览: 90
可以使用 Java 的 Random 类来生成随机数,然后根据奖品的概率分布来进行抽奖。具体实现可以使用数组来存储每个奖品的概率,然后根据随机数的大小来确定抽中的奖品。以下是一个简单的实现示例:
```java
import java.util.Random;
public class Lottery {
public static void main(String[] args) {
String[] prizes = {"一等奖", "二等奖", "三等奖", "谢谢参与"};
double[] probabilities = {0.01, 0.05, 0.1, 0.84};
Random random = new Random();
double rand = random.nextDouble();
double sum = 0.0;
int index = -1;
for (int i = 0; i < probabilities.length; i++) {
sum += probabilities[i];
if (rand <= sum) {
index = i;
break;
}
}
System.out.println("恭喜您获得了:" + prizes[index]);
}
}
```
在上面的示例中,prizes 数组存储了每个奖品的名称,probabilities 数组存储了每个奖品的概率,rand 变量是一个随机数,sum 变量用来累加概率,index 变量用来记录抽中的奖品的下标。在循环中,我们依次累加每个奖品的概率,如果随机数小于等于当前累加的概率和,则说明抽中了当前奖品,记录下标并跳出循环。最后输出抽中的奖品名称即可。