Java.实现一个抢答程序,设置2个抢答者,同时发送抢答执行,答题成功提示成功,未抢答成功者提示失败
时间: 2023-10-07 07:06:04 浏览: 68
下面是 Java 实现的抢答程序,设置了两个抢答者,同时发送抢答执行,答题成功提示成功,未抢答成功者提示失败:
```java
import java.util.concurrent.*;
public class Responder implements Runnable {
private String name;
private CountDownLatch latch;
public Responder(String name, CountDownLatch latch) {
this.name = name;
this.latch = latch;
}
public void run() {
try {
// 等待抢答开始
latch.await();
// 模拟抢答过程,随机生成一个 0~1 的小数,小于 0.5 视为抢答成功
double rand = Math.random();
if (rand < 0.5) {
System.out.println(name + " 抢答成功!");
} else {
System.out.println(name + " 抢答失败!");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
int nResponders = 2; // 抢答者数量
CountDownLatch latch = new CountDownLatch(1); // 抢答开始的信号量
// 创建线程池
ExecutorService executor = Executors.newFixedThreadPool(nResponders);
// 启动抢答者线程
for (int i = 1; i <= nResponders; i++) {
Runnable r = new Responder("抢答者" + i, latch);
executor.execute(r);
}
// 发送抢答开始信号
System.out.println("开始抢答!");
latch.countDown();
// 关闭线程池
executor.shutdown();
}
}
```
运行结果示例:
```
开始抢答!
抢答者1 抢答失败!
抢答者2 抢答成功!
```
注意:该程序并没有进行输入等交互操作,仅作为示例程序。如果需要在实际应用中进行交互操作,可以使用 GUI 界面或者命令行界面等方式实现。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)