使用Java做一个汽车出租管理程序,要求不能使用数据库,只能使用面向对象、接口和数组,还要对客户信息和车辆信息的增删查改,数组可以保存到数组中
时间: 2023-12-06 13:41:51 浏览: 34
好的,我可以给你提供一些思路。
首先,你需要设计两个类:客户类和车辆类,每个类中包含客户或车辆的基本信息和相应的操作方法。然后,你可以使用接口来定义客户和车辆的增删查改方法。
接着,你可以创建一个管理类,用于管理客户和车辆。在这个类中,你可以创建两个数组,一个用于存储客户信息,另一个用于存储车辆信息。你可以在这个类中实现客户和车辆的增删查改方法,每个方法都需要遍历相应的数组来进行操作。
最后,你可以创建一个主类,用于测试你的程序。在主类中,你可以创建一个管理对象,并调用其相应的方法来进行客户和车辆信息的操作。
下面是一个简单的示例代码:
```java
// 客户类
class Customer {
private String name;
private String phone;
// 其他属性和操作方法省略
public void setName(String name) {
this.name = name;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
// 车辆类
class Car {
private String brand;
private String licensePlate;
// 其他属性和操作方法省略
public void setBrand(String brand) {
this.brand = brand;
}
public void setLicensePlate(String licensePlate) {
this.licensePlate = licensePlate;
}
}
// 客户操作接口
interface CustomerOperation {
void addCustomer(Customer customer);
void deleteCustomer(Customer customer);
Customer findCustomer(String name);
void updateCustomer(String name, Customer customer);
}
// 车辆操作接口
interface CarOperation {
void addCar(Car car);
void deleteCar(Car car);
Car findCar(String licensePlate);
void updateCar(String licensePlate, Car car);
}
// 管理类
class Manager implements CustomerOperation, CarOperation {
private Customer[] customers;
private Car[] cars;
private int customerCount;
private int carCount;
// 构造方法省略
// 客户操作实现
public void addCustomer(Customer customer) {
customers[customerCount++] = customer;
}
public void deleteCustomer(Customer customer) {
for (int i = 0; i < customerCount; i++) {
if (customers[i] == customer) {
customers[i] = customers[--customerCount];
customers[customerCount] = null;
break;
}
}
}
public Customer findCustomer(String name) {
for (int i = 0; i < customerCount; i++) {
if (customers[i].getName().equals(name)) {
return customers[i];
}
}
return null;
}
public void updateCustomer(String name, Customer customer) {
for (int i = 0; i < customerCount; i++) {
if (customers[i].getName().equals(name)) {
customers[i] = customer;
}
}
}
// 车辆操作实现
public void addCar(Car car) {
cars[carCount++] = car;
}
public void deleteCar(Car car) {
for (int i = 0; i < carCount; i++) {
if (cars[i] == car) {
cars[i] = cars[--carCount];
cars[carCount] = null;
break;
}
}
}
public Car findCar(String licensePlate) {
for (int i = 0; i < carCount; i++) {
if (cars[i].getLicensePlate().equals(licensePlate)) {
return cars[i];
}
}
return null;
}
public void updateCar(String licensePlate, Car car) {
for (int i = 0; i < carCount; i++) {
if (cars[i].getLicensePlate().equals(licensePlate)) {
cars[i] = car;
}
}
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Manager manager = new Manager();
// 添加客户和车辆信息
Customer customer1 = new Customer();
customer1.setName("张三");
customer1.setPhone("123456789");
manager.addCustomer(customer1);
Car car1 = new Car();
car1.setBrand("奥迪");
car1.setLicensePlate("粤A12345");
manager.addCar(car1);
// 查找客户和车辆信息
Customer customer = manager.findCustomer("张三");
Car car = manager.findCar("粤A12345");
// 修改客户和车辆信息
customer.setPhone("987654321");
manager.updateCustomer("张三", customer);
car.setBrand("宝马");
manager.updateCar("粤A12345", car);
// 删除客户和车辆信息
manager.deleteCustomer(customer);
manager.deleteCar(car);
}
}
```
需要注意的是,由于没有使用数据库,所以程序在关闭后所有数据将会丢失。如果需要保存数据,可以将数据存储到文件中。