停车场车位预约java代码
时间: 2024-02-04 15:00:43 浏览: 75
停车场车位预约是一个典型的问题,可以通过Java代码实现。下面是一个简单的停车场车位预约的Java代码示例:
```java
import java.util.ArrayList;
import java.util.List;
public class ParkingLot {
private int capacity; // 停车场容量
private List<Integer> availableSlots; // 可用车位列表
public ParkingLot(int capacity) {
this.capacity = capacity;
this.availableSlots = new ArrayList<>();
for (int i = 1; i <= capacity; i++) {
availableSlots.add(i);
}
}
public int reserveSlot() {
if (availableSlots.isEmpty()) {
return -1; // 车位已满
}
int slot = availableSlots.get(0);
availableSlots.remove(0);
return slot;
}
public void releaseSlot(int slot) {
if (!availableSlots.contains(slot)) {
availableSlots.add(slot);
availableSlots.sort(null); // 按照车位号排序
}
}
public static void main(String[] args) {
ParkingLot parkingLot = new ParkingLot(10); // 创建一个容量为10的停车场
int slot1 = parkingLot.reserveSlot();
if (slot1 == -1) {
System.out.println("车位已满");
} else {
System.out.println("预约成功,车位号:" + slot1);
}
int slot2 = parkingLot.reserveSlot();
if (slot2 == -1) {
System.out.println("车位已满");
} else {
System.out.println("预约成功,车位号:" + slot2);
}
parkingLot.releaseSlot(slot1); // 释放车位
int slot3 = parkingLot.reserveSlot();
if (slot3 == -1) {
System.out.println("车位已满");
} else {
System.out.println("预约成功,车位号:" + slot3);
}
}
}
```
以上代码实现了一个停车场类,其中包含了车位的预约和释放功能。初始化停车场时,会根据指定的容量生成相应数量的车位。`reserveSlot()`方法用于预约车位,如果车位已满,则会返回-1;如果有可用车位,则会返回一个车位号,并将该车位从可用车位列表中移除。`releaseSlot()`方法用于释放已占用的车位,如果指定车位不存在或已经是可用状态,则不进行任何操作。
阅读全文