停车场管理系统 java_使用java编写一个停车场管理系统

本文详细介绍了如何使用Java编程实现一个停车场管理系统,包括车主查看车位、按时间收费、车主查询信息及管理员查看车位和缴费记录等功能。通过实例代码展示了系统的主要操作流程。
摘要由CSDN通过智能技术生成

使用java编写一个停车场管理系统

发布时间:2020-11-30 16:00:28

来源:亿速云

阅读:145

作者:Leah

这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

现开发一个停车系统,用户根据车位停车

1)车主查看现在有无车位(最多100个车位),给车主随机分配一个车位,如果该位置上有车,不能停

2)按停车时间收费,3小时以内不收费,3小时以外,每小时2元,最大20元

3)车主可以查看自己停车的车位和收费,以及停车的时长

4)查看历史停车记录

管理员:

查看现有的剩余车位

查看已停车的车位

查看停在车位上的车以及历史缴费

29cf8b25b93ff750bd7751c9a8a2e7fc.png

43498634dbcf5f4be03f6d91d2bf0da7.png

b038627385bb6b05cfb9ae3bf433e962.png

29757b8ffad0b3b157e384c2c33f598d.png

54c1f54886ddc521f89b56428fbdf055.png

5f4490c0df8f8083e5b6d334d1ad246b.png

2f684f1595305d808cba1157d83bb07a.png

Clientpackage com.gem.client;

import java.util.Scanner;

import com.gem.entity.Admin;

import com.gem.entity.User;

import com.gem.service.impl.AdminServiceImpl;

import com.gem.service.impl.CarParkingServiceimpl;

import com.gem.service.impl.UserServiceimpl;

public class Client {

public static void main(String[] args) {

CarParkingServiceimpl carparkingservice = CarParkingServiceimpl.getCarparkingservice();

UserServiceimpl userserviceimpl = UserServiceimpl.getUserserviceimpl();

Scanner scanner = new Scanner(System.in);

Menu1(carparkingservice, userserviceimpl, scanner);

}

private static void Menu1(CarParkingServiceimpl carparkingservice, UserServiceimpl userserviceimpl,

Scanner scanner) {

while (true) {

System.out.println("****欢迎进入停车系统****");

System.out.println("***1.请输入您的车牌***");

System.out.println("***2.管理员");

System.out.println("***3.退出****");

int choice = Integer.parseInt(scanner.nextLine().trim());

switch (choice) {

case 1:

System.out.println("请输入您的车牌");

String chepai = scanner.nextLine().trim();

User a = userserviceimpl.login(new User(chepai));

if (a != null) {

System.out.println("车牌登记成功");

Menu2(carparkingservice, userserviceimpl, scanner, a);

} else {

System.out.println("车牌登记失败");

}

break;

case 2:

Menu_Manger(carparkingservice, userserviceimpl);

default:

break;

}

}

}

//管理员的登录注册

private static void Menu_Manger(CarParkingServiceimpl carparkingservice, UserServiceimpl userserviceimpl) {

AdminServiceImpl adminserviceimpl = AdminServiceImpl.getAdminSeriver();

  • 10
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
初始化停车场(确定停车区个数n,每个停车区的停车位,且初始时,停车场为空),说明:使用一个共享数组(临界资源)存储每个停车区中空闲停车位的个数,每一个停车区使用一个共享缓冲区可容纳一辆车,停车场公共通道允许通过两辆车通过。 停车场入口检查是否有空闲停位,如果有发放相关停车区的停车卡,允许停车。如果不存在空闲车位,等待到有空闲车位止。注,入口处应尽量发放不同停车区的停车卡,以获得更高的效率。停车场过道允许两辆车同时通过。 停车场出口,回收停车卡,并修改相关停车区空闲车位数。注:同一时刻只能有一个车出停车场。 每一个停车区,有一个待车位,供进入停车区车辆进入停车区。停车区只能有一辆车进或出。 每辆车每进入下一环节皆应停留一定时间。每一个用户建立一个窗口,于窗口中显示当前将态。将状态转换可由人工确定亦可自动完成,但进入下状态时需要停留学生一定的时间,以保证多个用户“并行”工作。 本框架由四个类组成,这四个类分别是:InitFrame、WotkFram、carJFrame及carThread,由InitFrame启动。类InitFrame提供停车场初始化功能,完成初始任务后启动类WotkFram界面,执行停车场模拟程序,点击命令按扭“进入停车场”,建立一个线程(线程类名为carThread),线程建立一个carJFrame窗口(车辆进入、离开停车场操作程序)模拟车辆进入或离开停车场。
好的,停车场管理系统需要考虑以下几个方面的功能: 1. 车辆进入停车场时,需要记录车牌号、停车时间、停车费用等信息; 2. 车辆离开停车场时,需要根据停车时间计算出停车费用,并记录离开时间; 3. 能够查询当前停车场内的车辆信息,包括车牌号、停车时间、停车费用等; 4. 能够查询某个车辆的停车记录,包括进入时间、离开时间、停车费用等。 下面是一个简单的停车场管理系统Java代码示例: ``` import java.util.ArrayList; import java.util.Date; import java.util.List; class Car { private String licensePlate; private Date enterTime; private Date leaveTime; private double parkingFee; public Car(String licensePlate) { this.licensePlate = licensePlate; this.enterTime = new Date(); } public String getLicensePlate() { return licensePlate; } public Date getEnterTime() { return enterTime; } public Date getLeaveTime() { return leaveTime; } public void setLeaveTime(Date leaveTime) { this.leaveTime = leaveTime; } public double getParkingFee() { return parkingFee; } public void setParkingFee(double parkingFee) { this.parkingFee = parkingFee; } } class ParkingLot { private List<Car> parkedCars; private double parkingFeeRate; public ParkingLot(double parkingFeeRate) { this.parkedCars = new ArrayList<>(); this.parkingFeeRate = parkingFeeRate; } public void parkCar(Car car) { parkedCars.add(car); } public void removeCar(Car car) { double parkingFee = calculateParkingFee(car.getEnterTime(), car.getLeaveTime()); car.setParkingFee(parkingFee); parkedCars.remove(car); } public List<Car> getParkedCars() { return parkedCars; } public double getParkingFeeRate() { return parkingFeeRate; } public void setParkingFeeRate(double parkingFeeRate) { this.parkingFeeRate = parkingFeeRate; } private double calculateParkingFee(Date enterTime, Date leaveTime) { long duration = leaveTime.getTime() - enterTime.getTime(); double hours = duration / (1000.0 * 60 * 60); return hours * parkingFeeRate; } } public class ParkingLotManager { public static void main(String[] args) { ParkingLot parkingLot = new ParkingLot(5.0); // 设置停车费用为每小时5元 Car car1 = new Car("京A12345"); Car car2 = new Car("京B67890"); parkingLot.parkCar(car1); parkingLot.parkCar(car2); // 车辆1离开停车场 car1.setLeaveTime(new Date()); parkingLot.removeCar(car1); // 查询当前停车场内的车辆 List<Car> parkedCars = parkingLot.getParkedCars(); System.out.println("当前停车场内车辆数:" + parkedCars.size()); for (Car car : parkedCars) { System.out.println(car.getLicensePlate() + " " + car.getEnterTime()); } // 查询车辆1的停车记录 System.out.println("车辆1的停车记录:"); System.out.println("进入时间:" + car1.getEnterTime()); System.out.println("离开时间:" + car1.getLeaveTime()); System.out.println("停车费用:" + car1.getParkingFee()); } } ``` 以上代码实现了一个简单的停车场管理系统,可以根据需要进行扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值