实现一个抽奖程序,将若干奖项放入一个ArrayList中,作为一个抽奖池。 创建若干个抽奖线程代表每个参加抽奖的人,随机从抽奖池中获取奖项并打印 某某人抽中 10 元大奖 莫某人谢谢您,下次再来,Java
时间: 2024-05-03 22:17:22 浏览: 179
基于Java实现抽奖系统
好的,我给你提供一个实现抽奖程序的代码示例:
```java
import java.util.ArrayList;
import java.util.Random;
public class LotteryProgram {
public static void main(String[] args) {
ArrayList<String> lotteryPool = new ArrayList<String>();
lotteryPool.add("一等奖");
lotteryPool.add("二等奖");
lotteryPool.add("三等奖");
lotteryPool.add("四等奖");
lotteryPool.add("五等奖");
for (int i = 1; i <= 5; i++) {
Thread t = new LotteryThread("参加者" + i, lotteryPool);
t.start();
}
}
}
class LotteryThread extends Thread {
private String name;
private ArrayList<String> lotteryPool;
public LotteryThread(String name, ArrayList<String> lotteryPool) {
this.name = name;
this.lotteryPool = lotteryPool;
}
public void run() {
Random random = new Random();
int index = random.nextInt(lotteryPool.size());
String prize = lotteryPool.get(index);
if (prize.equals("谢谢参与")) {
System.out.println(name + " 抽中 " + prize + ",下次再来!");
} else {
System.out.println(name + " 抽中 " + prize + ",恭喜您!");
lotteryPool.remove(index);
}
}
}
```
代码中,我们首先定义了一个 `LotteryProgram` 类作为程序入口,它创建了一个奖池 `lotteryPool`,其中包含了若干个奖项。然后,我们使用一个循环创建了 5 个抽奖线程,每个线程代表一个参加抽奖的人。
接着,我们定义了 `LotteryThread` 类,它继承了 `Thread` 类,并重写了 `run` 方法。在 `run` 方法中,我们使用 `Random` 类生成一个随机数作为奖池中奖项的下标,然后从奖池中获取对应的奖项。如果抽中的是“谢谢参与”,则输出该参与者抽中的奖项为“谢谢参与”,否则输出该参与者抽中的奖项,并从奖池中删除该奖项。
使用上述代码,我们就可以实现一个简单的抽奖程序。
阅读全文