用Java写一个抽奖程序
时间: 2023-11-08 17:04:18 浏览: 91
用java写的抽奖程序
4星 · 用户满意度95%
以下是一个简单的Java抽奖程序:
```java
import java.util.Random;
import java.util.Scanner;
public class Lottery {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入抽奖人数:");
int num = scanner.nextInt();
System.out.print("请输入奖项数:");
int prizeNum = scanner.nextInt();
int[] prize = new int[prizeNum];
for (int i = 0; i < prizeNum; i++) {
System.out.print("请输入第" + (i+1) + "个奖品的数量:");
prize[i] = scanner.nextInt();
}
int totalPrize = 0;
for (int i = 0; i < prizeNum; i++) {
totalPrize += prize[i];
}
if (totalPrize < num) {
System.out.println("奖品数量不足,无法进行抽奖!");
return;
}
Random random = new Random();
int[] result = new int[num];
for (int i = 0; i < num; i++) {
int r = random.nextInt(totalPrize);
for (int j = 0; j < prizeNum; j++) {
if (r < prize[j]) {
result[i] = j+1;
prize[j]--;
totalPrize--;
break;
} else {
r -= prize[j];
}
}
}
System.out.println("中奖结果如下:");
for (int i = 0; i < num; i++) {
System.out.println("第" + (i+1) + "个中奖者,中奖奖项为:" + result[i]);
}
}
}
```
程序中使用了Scanner类获取用户输入的抽奖人数和奖项数,以及每个奖品的数量。然后使用Random类生成随机数进行抽奖,抽奖结果保存在result数组中,最后输出中奖结果。
阅读全文