用JAVA实现停车场管理系统

这篇具有很好参考价值的文章主要介绍了用JAVA实现停车场管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

该程序使用ArrayList存储停车记录,并通过switch-case语句实现菜单选择功能。主要功能包括:

  • 停车:输入车牌号和进入时间,自动分配停车位编号,

  • 结算:根据停车位编号计算停车费用,计费标准为停车时长(秒)乘以每秒费用0.05元,同时记录车辆离开时间和费用;

  • 查看记录:显示所有停车记录的编号、车牌号、进入时间、离开时间和费用;

  • 退出程序。

当停车场已满时,无法再停车;当用户输入不存在的停车位编号或已经结算过的车辆编号时,系统会提示用户相应的信息。文章来源地址https://www.toymoban.com/news/detail-510803.html

import java.util.ArrayList;
import java.util.Scanner;

class ParkingRecord {
    int id;
    String licensePlate;
    long timeIn;
    long timeOut;
    double cost;
}

public class ParkingLot {
    private ArrayList<ParkingRecord> parkingLot;
    private int currentCapacity;
    private final int MAX_CAPACITY = 10;

    public ParkingLot() {
        parkingLot = new ArrayList<ParkingRecord>(MAX_CAPACITY);
        currentCapacity = 0;
    }

    private void showMenu() {
        System.out.println("Parking Lot Management System");
        System.out.println("=============================");
        System.out.println("1. Park a car");
        System.out.println("2. Check out a car");
        System.out.println("3. Show parking records");
        System.out.println("4. Exit");
        System.out.print("Enter your choice: ");
    }

    private void parkCar() {
        if (currentCapacity < MAX_CAPACITY) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("Enter license plate: ");
            String licensePlate = scanner.nextLine();
            long timeIn = System.currentTimeMillis();
            ParkingRecord record = new ParkingRecord();
            record.id = currentCapacity + 1;
            record.licensePlate = licensePlate;
            record.timeIn = timeIn;
            parkingLot.add(record);
            currentCapacity++;
            System.out.println("Car parked successfully. Parking slot number is " + record.id);
        } else {
            System.out.println("Parking lot is full.");
        }
    }

    private void checkOutCar() {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter parking slot number: ");
        int id = scanner.nextInt();
        ParkingRecord record = parkingLot.get(id - 1);
        if (record.timeOut > 0) {
            System.out.println("This car has already been checked out.");
            return;
        }
        record.timeOut = System.currentTimeMillis();
        long timeElapsed = record.timeOut - record.timeIn;
        double cost = timeElapsed / 1000.0 * 0.05;
        record.cost = cost;
        System.out.println("Checked out successfully. Parking fee is " + cost);
    }

    private void showParkingRecords() {
        System.out.println("ID\tLicense Plate\tTime In\tTime Out\tCost");
        for (ParkingRecord record : parkingLot) {
            System.out.printf("%d\t%s\t\t%d\t%d\t%.2f\n", record.id, record.licensePlate, record.timeIn, record.timeOut, record.cost);
        }
    }

    public static void main(String[] args) {
        ParkingLot parkingLot = new ParkingLot();
        Scanner scanner = new Scanner(System.in);
        int choice;
        do {
            parkingLot.showMenu();
            choice = scanner.nextInt();
            switch (choice) {
                case 1:
                    parkingLot.parkCar();
                    break;
                case 2:
                    parkingLot.checkOutCar();
                    break;
                case 3:
                    parkingLot.showParkingRecords();
                    break;
                case 4:
                    System.out.println("Thank you for using the Parking Lot Management System.");
                    break;
                default:
                    System.out.println("Invalid choice.");
                    break;
            }
            System.out.println();
        } while (choice != 4);
    }
}

到了这里,关于用JAVA实现停车场管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于JAVA+Springboot+Thymeleaf前后端分离项目:停车场车位预约管理系统设计与实现

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年02月22日
    浏览(52)
  • 基于python的停车场管理系统的设计与实现/智能停车管理系统

    车位信息 是 停车场供应用户 必不可少的一个部分。在 停车场发展 的整个过程中, 车位信息 担负着最重要的角色。为满足如今日益复杂的管理需求,各类 系统管理 程序也在不断改进。本课题所设计的 停车场管理系统 , 使用 Django 框架 , Python语言 进行开发,它的优点代

    2024年02月10日
    浏览(43)
  • 基于Web的停车场管理系统(Java)

    目录 一、系统介绍 1.开发的环境 2.本系统实现的功能 3.数据库用到的表 4.工程截图 二、系统展示 1、登录页面  2、首页 3、系统信息管理模块   4、车位信息管理模块  5、IC卡信息管理模块 ​编辑6、固定车主停车管理模块 7、临时车主停车管理模块 8、系统功能操作模块 三

    2024年02月10日
    浏览(36)
  • Python 实验报告,实现停车场收费管理系统

    3.某小型收费停车场有50个车位,有一个入口与一个出口,满1小时收费1元,不足1小时不收费,10元封顶,超过1天罚款200元。编写程序实现停车场出入口管理。 要求: (1)定义出入口类,将车位总数与目前停在停车场的车辆信息(每辆车包括车牌和入场时间)定义为类属性;

    2024年02月12日
    浏览(44)
  • 基于java停车场共享车位预约管理系统(springboot框架)开题答辩常规问题

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年01月19日
    浏览(57)
  • 案例158:基于微信小程序的停车场管理系统设计与实现

    文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软件:微信开发者 目录 目录 前言 系统展示 管理员功能实现 车辆停放管理 车辆驶出管理 停车费用管

    2024年01月23日
    浏览(56)
  • 基于python停车场管理系统的设计与实现(论文+源码)_kaic

    摘  要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 智能停车场管理系统,主要的模块包括首页、个人中心、用户管理、车位区域管理、车位信息管理、车位租用管理、车位退租管理、系统管理等功

    2024年02月02日
    浏览(38)
  • 基于单片机的智能停车场管理系统的设计与实现_kaic

    摘 要 本设计基于RFID智能识别和高速的视频图像和存储比较相结合,通过计算机的图像处理和自动识别,对车辆进出停车场的收费、车牌识别和车位诱导等,以实现停车场全方位智能管理。 本设计是以AT89C51型单片机为主控芯片的智能停车场系统,主要是针对车辆诱导和车辆检

    2024年02月06日
    浏览(36)
  • 计算机Java项目|SSM基于微信小程序的智能停车场管理系统

      作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助 收藏点赞

    2024年01月19日
    浏览(74)
  • 停车场管理系统

    开发   以下为停车场管理系统的代码:   首先定义Car类,记录车辆信息:   ```java public class Car {     private String plateNumber;  // 车牌号     private long enterTime;  // 进入停车场时间     private long exitTime;  // 离开停车场时间       public Car(String plateNumber, long enterTime) {      

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包