用java编写一个停车场管理系统
时间: 2023-08-22 21:07:18 浏览: 59
好的,停车场管理系统可以分为三个主要模块:车辆管理、停车位管理和费用管理,下面是一个简单的Java实现示例:
```java
import java.util.ArrayList;
// 车辆类
class Car {
String licensePlate;
int parkTime;
public Car(String licensePlate, int parkTime) {
this.licensePlate = licensePlate;
this.parkTime = parkTime;
}
public String getLicensePlate() {
return licensePlate;
}
public int getParkTime() {
return parkTime;
}
}
// 停车场类
class ParkingLot {
ArrayList<Car> parkedCars;
int availableSpots;
public ParkingLot(int availableSpots) {
parkedCars = new ArrayList<>();
this.availableSpots = availableSpots;
}
public void addCar(Car car) {
parkedCars.add(car);
availableSpots--;
}
public void removeCar(Car car) {
parkedCars.remove(car);
availableSpots++;
}
public ArrayList<Car> getParkedCars() {
return parkedCars;
}
public int getAvailableSpots() {
return availableSpots;
}
}
// 费用管理类
class FeeManager {
private static final int FEE_RATE = 5; //每小时5元
public static int calculateFee(int parkTime) {
return parkTime * FEE_RATE;
}
}
// 主程序
public class ParkingLotManager {
public static void main(String[] args) {
ParkingLot parkingLot = new ParkingLot(10); // 停车场初始停车位为10
// 添加车辆
Car car1 = new Car("京A12345", 3);
Car car2 = new Car("京B67890", 5);
parkingLot.addCar(car1);
parkingLot.addCar(car2);
// 输出当前停车场信息
System.out.println("当前停车场状态:");
System.out.println("剩余停车位:" + parkingLot.getAvailableSpots());
System.out.println("已停车辆:");
for (Car car : parkingLot.getParkedCars()) {
System.out.println(car.getLicensePlate());
}
// 计算费用
int fee1 = FeeManager.calculateFee(car1.getParkTime());
int fee2 = FeeManager.calculateFee(car2.getParkTime());
System.out.println("车牌号为 " + car1.getLicensePlate() + " 的车辆停车" + car1.getParkTime() + "小时,需要缴纳停车费 " + fee1 + " 元");
System.out.println("车牌号为 " + car2.getLicensePlate() + " 的车辆停车" + car2.getParkTime() + "小时,需要缴纳停车费 " + fee2 + " 元");
// 移除车辆
parkingLot.removeCar(car1);
System.out.println("车牌号为 " + car1.getLicensePlate() + " 的车辆已离开停车场");
// 输出当前停车场信息
System.out.println("当前停车场状态:");
System.out.println("剩余停车位:" + parkingLot.getAvailableSpots());
System.out.println("已停车辆:");
for (Car car : parkingLot.getParkedCars()) {
System.out.println(car.getLicensePlate());
}
}
}
```
这个示例实现了一个简单的停车场管理系统,包括车辆管理、停车位管理和费用管理。你可以根据自己的需求进行修改和扩展。