Java实现汽车租赁系统攻略
系统要求分析
在开始编写系统代码之前,我们首先需要明确系统的要求,确定需要实现的功能和数据。汽车租赁系统的主要功能如下:
- 录入车辆信息:利用程序录入租赁公司当中汽车的信息,包括车型、颜色、车牌号码、基础日租金、车辆编号等信息。
- 客户注册:可实现多次客户注册并记录客户信息,包括:客户姓名、电话、租车证件等。
- 车辆出租:实现输入客户姓名、身份证号进行:(1)车型选择;(2)天数选择;系统提示应付租金。在租金计算的同时,可进行出租车的状态管理。
- 归还车辆:实现对归还车辆进行状态管理,并按所租时间与车型为计算依据的收费功能。
- 车辆查询:按车型、颜色、品牌等关键字查询车辆信息。
系统设计分析
在了解了系统需求之后,我们需要进行系统设计。系统设计主要包括功能模块划分、数据库表设计、类设计等。
-
功能模块划分:根据系统的基本需求划分功能模块,例如:车辆信息录入模块、客户信息录入模块、车辆出租模块、归还车辆模块、车辆查询模块等。每个模块应尽可能保持独立性,以方便后续修改和维护。
-
数据库表设计:根据系统需求设计数据库表,例如:车辆信息表、客户信息表、出租记录表等。表的设计应符合规范,避免冗余字段。
-
类设计:根据系统需求,设计对应的类,例如:车辆类、客户类、租车类等。类的设计应符合规范,可重用性、可维护性良好。
系统代码实现
在完成系统设计后,我们可以编写具体的程序实现。主要代码实现过程如下:
- 创建汽车类,包括属性:车型、颜色、车牌号码等信息。在Car类中定义rentPrice函数来计算某辆车的租赁价格。
public class Car {
private String model;
private String color;
private int dailyRent;
private String plateNumber;
private int carId;
private boolean available;
// 构造函数
public Car(String model, String color, int dailyRent, String plateNumber, int carId) {
this.model = model;
this.color = color;
this.dailyRent = dailyRent;
this.plateNumber = plateNumber;
this.carId = carId;
this.available = true;
}
// 租金计算函数
public double rentPrice(int days) {
return this.dailyRent * days;
}
}
- 创建客户类,包括属性:姓名、电话、租车证件等信息。
public class Customer {
private String name;
private String phoneNum;
private String id;
// 构造函数
public Customer(String name, String phoneNum, String id) {
this.name = name;
this.phoneNum = phoneNum;
this.id = id;
}
// getter函数
public String getName() {
return name;
}
public String getPhoneNum() {
return phoneNum;
}
public String getId() {
return id;
}
}
- 创建租车记录类,包括属性:车辆、客户、租车时间等信息。
public class RentRecord {
private Car car;
private Customer customer;
private int days;
private double price;
private Date rentDate;
// 构造函数
public RentRecord(Car car, Customer customer, int days) {
this.car = car;
this.customer = customer;
this.days = days;
this.rentDate = new Date();
this.price = car.rentPrice(days);
}
// getter函数
public Car getCar() {
return car;
}
public Customer getCustomer() {
return customer;
}
public int getDays() {
return days;
}
public double getPrice() {
return price;
}
public Date getRentDate() {
return rentDate;
}
}
- 创建汽车租赁系统类,包括功能模块:车辆信息录入、客户信息录入、车辆出租、归还车辆、车辆查询等。
import java.util.*;
public class CarRentalSystem {
private List<Car> carList;
private List<Customer> customerList;
private List<RentRecord> rentRecordList;
// 构造函数
public CarRentalSystem() {
this.carList = new ArrayList<Car>();
this.customerList = new ArrayList<Customer>();
this.rentRecordList = new ArrayList<RentRecord>();
}
// 车辆信息录入
public void addCar(Car car) {
carList.add(car);
}
// 客户信息录入
public void addCustomer(Customer customer) {
customerList.add(customer);
}
// 车辆查询
public List<Car> searchCar(String keyword) {
List<Car> result = new ArrayList<Car>();
for (Car car : carList) {
if (car.getModel().contains(keyword) || car.getColor().contains(keyword) || car.getPlateNumber().contains(keyword)) {
result.add(car);
}
}
return result;
}
// 租车
public RentRecord rentCar(Car car, Customer customer, int days) {
if (!car.isAvailable()) {
System.out.println("车辆已被出租,请选择其他车辆!");
return null;
}
RentRecord rentRecord = new RentRecord(car, customer, days);
rentRecordList.add(rentRecord);
car.setAvailable(false);
return rentRecord;
}
// 还车
public double returnCar(RentRecord rentRecord) {
Car car = rentRecord.getCar();
car.setAvailable(true);
return rentRecord.getPrice();
}
}
示例说明
示例1:录入车辆信息
Car car1 = new Car("比亚迪", "白色", 200, "鲁A12345", 1);
Car car2 = new Car("丰田", "黑色", 300, "鲁B12345", 2);
Car car3 = new Car("奥迪", "红色", 500, "鲁C12345", 3);
CarRentalSystem crs = new CarRentalSystem();
crs.addCar(car1);
crs.addCar(car2);
crs.addCar(car3);
示例2:租车
Customer customer1 = new Customer("张三", "12345678901", "37132519xxxx");
Car car = crs.searchCar("奥迪").get(0); // 使用车辆查询功能
RentRecord rentRecord = crs.rentCar(car, customer1, 3); // 租用车辆
// 打印租车信息
System.out.println("租车信息如下:");
System.out.println("客户姓名:" + rentRecord.getCustomer().getName());
System.out.println("车牌号码:" + rentRecord.getCar().getPlateNumber());
System.out.println("租车天数:" + rentRecord.getDays());
System.out.println("应付租金:" + rentRecord.getPrice());
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现汽车租赁系统 - Python技术站