java实现项目名称:基于栈和队列实现停车场管理 具体要求: 1.停车场包含特定数量的车位和一个便道; 2.车辆停放使用顺序栈实现。车辆停放和驶出仅通过栈顶进行操作,如果驶出车 辆不在栈顶,借助辅助栈依次移出,再依次进栈; 3.无空车位时,车辆暂时停放在便道。便道采用链队实现,当停车场出现空车位 时,便道车辆可以驶入停车场。给出我关于Switch语句测试类
时间: 2023-12-16 07:02:56 浏览: 26
以下是一个简单的Switch语句测试类,可以用于测试停车场管理系统中的不同功能:
```java
import java.util.Scanner;
public class ParkingLotTest {
public static void main(String[] args) {
ParkingLot parkingLot = new ParkingLot(10); // 创建一个具有10个车位的停车场
Queue<Car> waitingQueue = new LinkedQueue<>(); // 创建一个链队用于存放在便道上等待的车辆
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 停车");
System.out.println("2. 开车");
System.out.println("3. 查看停车场状态");
System.out.println("4. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
if (parkingLot.isFull()) {
System.out.println("停车场已满,您的车将在便道上等待。");
waitingQueue.enqueue(new Car());
} else {
System.out.println("请输入车牌号:");
String licensePlateNumber = scanner.next();
parkingLot.park(new Car(licensePlateNumber));
System.out.println("停车成功!");
}
break;
case 2:
System.out.println("请输入车牌号:");
String licensePlateNumber = scanner.next();
if (parkingLot.unpark(new Car(licensePlateNumber))) {
System.out.println("开车成功!");
// 如果便道上有等待的车辆,则将其移动到停车场
if (!waitingQueue.isEmpty()) {
Car car = waitingQueue.dequeue();
parkingLot.park(car);
System.out.println("便道上的车辆已经进入停车场。");
}
} else {
System.out.println("您输入的车牌号不存在,请重新输入。");
}
break;
case 3:
parkingLot.printStatus();
break;
case 4:
System.exit(0);
default:
System.out.println("输入有误,请重新输入。");
}
}
}
}
```
该测试类实现了以下功能:
1. 停车:如果停车场已满,则将车辆存放在便道上等待;否则将车辆停放在停车场中。
2. 开车:删除停车场中与输入车牌号相同的车辆,如果停车场中没有该车辆,则提示用户重新输入。
3. 查看停车场状态:输出停车场的状态,包括已停放的车辆和便道上等待的车辆。
4. 退出:退出程序。
你可以根据需要修改或扩展该测试类的功能。