Java实现购买电影院选择座位
时间: 2024-10-18 08:13:39 浏览: 12
在Java中,我们可以创建一个简单的类来模拟电影院选座功能,包括座位信息以及选择和锁定座位的方法。下面是一个简单的示例:
```java
import java.util.ArrayList;
class CinemaSeat {
private ArrayList<Integer> availableSeats = new ArrayList<>(); // 初始化可用座位列表
private final Object seatLock = new Object(); // 锁对象
// 假设每个座位的初始状态为未售出
public CinemaSeat(int totalSeats) {
for (int i = 0; i < totalSeats; i++) {
availableSeats.add(i);
}
}
// 模拟选择座位
public boolean selectSeat(int seatNumber) {
synchronized (seatLock) {
if (availableSeats.contains(seatNumber)) {
availableSeats.remove(seatNumber); // 将座位标记为已售出
System.out.println("选择了座号 " + seatNumber);
return true;
} else {
System.out.println("座号 " + seatNumber + " 已售罄");
return false;
}
}
}
// 示例如何使用
public static void main(String[] args) {
CinemaSeat cinema = new CinemaSeat(10);
if (cinema.selectSeat(5)) { // 选择第一个座位
if (cinema.selectSeat(5)) { // 再次尝试选择同一个座位会失败
System.out.println("第二次尝试选择同一个座位失败");
}
}
}
}
```
阅读全文