Java入门级项目 汽车租赁系统

开发一个简易的汽车租赁系统,能够实现用户和管理员的登陆,以及用户租车、换车、付款和管理员增加车辆、更改车辆、删除车辆等功能。
1、汽车租赁系统的需求分析:
汽车租赁系统的使用者有用户和管理员两种。
用户登陆之后要能够查看该账户余额、该账户已租车辆的信息、租赁系统中所有车辆的信息。如果当前账户没有租赁任何汽车,那么用户可以租赁汽车,并用账户余额付款租赁费用。如果当前账户已租赁汽车,那么用户可以更换汽车。
管理员登录之后可以查看租车系统的销售额,以及租车系统所有车辆的信息。同时,管理员可以添加、修改和删除车辆信息。
登录者输入非法登录信息时,即输入的账户或者密码错误,这种情况则在控制台输出“账号或密码错误,登录失败!”,并终止程序运行。
2、系统功能结构图,并阐述每个功能:
Java入门级项目 汽车租赁系统_第1张图片

用户实现功能租车时,如果余额充足,实现付款功能;如果余额不足,则租车失败。实现换车功能时,不需要付款,可以将该账户已租的车辆替换为指定的车辆。
用户实现查看信息功能时,能够查看租赁系统中所有车辆的信息、账户余额、已租车辆的信息。
用户实现付款功能时,在余额中扣除付款金额,同时租车系统的销售额增加付款金额。
管理员实现查看信息功能时,在控制台输出所有车辆的信息和销售额。
管理员添加、删除、修改车辆信息时,存储数据的文件中也会做出相应的修改。
信息管理模块,在读取信息时会从存储数据的文件中读取关于用户、管理员、车辆的所有信息,修改信息时会对存储数据的文件也做相应的修改。
3、系统的类图,并简单说明:
Java入门级项目 汽车租赁系统_第2张图片

Main类的main方法中调用Loginer类中的login方法,实现使用者的登陆,方法的返回值为User对象或者Administration对象,然后在Main类的main方法中调用该对象的go方法,实现登陆成功以后的功能。
Loginer为登录者类,有账号id和密码password两个私有变量。
User为用户类,继承Loginer。Administration为管理员类,也继承Loginer。User、Administration中的go方法,是登陆成功后继续租赁系统流程的方法,从控制台输入信息,然后根据信息内容进行相关的操作(查看信息、租车、换车、增删改车辆等等),并修改Date中的车辆信息、账户信息或销售额等数据。
User类中还有两个私有变量,其中Balance代表该用户余额,vehicleRented代表该用户已租车辆的车牌号,如用户未租车辆则vehicleRented等于“none”。
Data是处理数据的类,它的read方法负责从文件中读取关于用户、管理员、车辆的所有信息,并分别存储在相应对象类型的ArrayList中。在ArrayList中的对象被修改、增添或删除时,Data类的write方法会被调用,此方法会将ArrayList的内容重新写入文件,即达到同步修改文件内容的目的。
Data中还有一些功能方法,showInfo方法会在控制台输出所有车辆的信息,delete方法会删除指定号牌的车辆,findVehicle方法会范围指定号牌对应的车辆对象。
Vehicle类是车辆类,有车牌号id、车的品牌brand、日租金price三个私有变量。Car类继承Vehicle,拥有类型type这一私有变量。Bus类继承Vehicle,并拥有载客量passengerCapaci这一私有变量。Truck类继承Vehicle,并拥有载货量loadCapacity这一私有变量。

源代码下载链接:
RentCarV4.0

你可能感兴趣的:(java,开发语言,后端)