用java写一个大转盘抽奖
时间: 2024-04-30 13:21:02 浏览: 161
JAVA抽奖活动大转盘(含前后端源码、数据库脚本, 抽奖算法)支持一键运行
5星 · 资源好评率100%
好的,下面是用Java编写一个简单的大转盘抽奖程序的示例代码:
```
import java.util.Random;
import java.util.Scanner;
public class LuckyDraw {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入抽奖人数:");
int num = scanner.nextInt(); // 输入抽奖人数
System.out.println("请输入奖项数:");
int prizeNum = scanner.nextInt(); // 输入奖项数
System.out.println("请输入每个奖项的中奖概率,用空格分隔:");
double[] prizeProbabilities = new double[prizeNum];
for (int i = 0; i < prizeNum; i++) {
prizeProbabilities[i] = scanner.nextDouble(); // 输入每个奖项的中奖概率,用数组存储
}
int[] prizeCounts = new int[prizeNum]; // 用于存储每个奖项的中奖人数
Random random = new Random(); // 初始化随机数生成器
for (int i = 0; i < num; i++) { // 循环抽奖
double rand = random.nextDouble(); // 生成一个随机数
double probabilitySum = 0.0;
for (int j = 0; j < prizeNum; j++) {
probabilitySum += prizeProbabilities[j];
if (rand < probabilitySum) { // 判断随机数在哪个奖项的概率范围内
prizeCounts[j]++; // 该奖项中奖人数加1
break;
}
}
}
// 输出每个奖项的中奖人数和中奖概率
for (int i = 0; i < prizeNum; i++) {
System.out.println("奖项" + (i+1) + "中奖人数:" + prizeCounts[i]);
System.out.println("奖项" + (i+1) + "中奖概率:" + prizeProbabilities[i]);
}
}
}
```
以上代码是一个简单的大转盘抽奖程序,根据输入的抽奖人数、奖项数和每个奖项的中奖概率,随机生成中奖结果,并输出每个奖项的中奖人数和中奖概率。当然,这只是一个简单的示例,你可以根据实际需求对程序进行修改和扩展。
阅读全文