用Java做一个汽车出租管理程序,要求要有增删查改功能,原本要有数据,不能使用数据库,只能用面向对象和数组,实现代码并且说明思路
时间: 2023-12-18 07:02:43 浏览: 79
思路:
1. 定义Car类,包含车牌号、品牌、颜色、出租状态等属性。
2. 定义CarRentalSystem类,包含一个Car类型的数组,用于存储汽车信息。
3. 实现增加汽车信息功能。通过输入车牌号、品牌、颜色等信息,创建一个Car对象,并将其添加到Car类型的数组中。
4. 实现删除汽车信息功能。通过输入车牌号,查找对应的Car对象并将其从Car类型的数组中删除。
5. 实现查询汽车信息功能。通过输入车牌号,查找对应的Car对象并输出其信息。
6. 实现修改汽车信息功能。通过输入车牌号,查找对应的Car对象并修改其信息。
代码实现:
Car类:
```java
public class Car {
private String plateNumber; // 车牌号
private String brand; // 品牌
private String color; // 颜色
private boolean isRented; // 是否出租
public Car(String plateNumber, String brand, String color) {
this.plateNumber = plateNumber;
this.brand = brand;
this.color = color;
this.isRented = false;
}
public String getPlateNumber() {
return plateNumber;
}
public String getBrand() {
return brand;
}
public String getColor() {
return color;
}
public boolean isRented() {
return isRented;
}
public void setRented(boolean rented) {
isRented = rented;
}
@Override
public String toString() {
return "车牌号:" + plateNumber + ",品牌:" + brand + ",颜色:" + color + ",出租状态:" + (isRented ? "已出租" : "未出租");
}
}
```
CarRentalSystem类:
```java
import java.util.Scanner;
public class CarRentalSystem {
private Car[] cars; // 汽车数组
private int count; // 汽车数量
public CarRentalSystem(int capacity) {
cars = new Car[capacity];
count = 0;
}
// 添加汽车信息
public void addCar() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入车牌号:");
String plateNumber = sc.next();
System.out.print("请输入品牌:");
String brand = sc.next();
System.out.print("请输入颜色:");
String color = sc.next();
Car car = new Car(plateNumber, brand, color);
cars[count++] = car;
System.out.println("添加成功!");
}
// 删除汽车信息
public void deleteCar() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入车牌号:");
String plateNumber = sc.next();
int index = findCarIndex(plateNumber);
if (index == -1) {
System.out.println("未找到该车辆!");
return;
}
for (int i = index; i < count - 1; i++) {
cars[i] = cars[i + 1];
}
cars[--count] = null;
System.out.println("删除成功!");
}
// 查询汽车信息
public void queryCar() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入车牌号:");
String plateNumber = sc.next();
int index = findCarIndex(plateNumber);
if (index == -1) {
System.out.println("未找到该车辆!");
return;
}
System.out.println(cars[index]);
}
// 修改汽车信息
public void modifyCar() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入车牌号:");
String plateNumber = sc.next();
int index = findCarIndex(plateNumber);
if (index == -1) {
System.out.println("未找到该车辆!");
return;
}
System.out.print("请输入新的品牌:");
String brand = sc.next();
System.out.print("请输入新的颜色:");
String color = sc.next();
cars[index] = new Car(plateNumber, brand, color);
System.out.println("修改成功!");
}
// 查找汽车在数组中的索引
private int findCarIndex(String plateNumber) {
for (int i = 0; i < count; i++) {
if (cars[i].getPlateNumber().equals(plateNumber)) {
return i;
}
}
return -1;
}
// 显示所有汽车信息
public void showAllCars() {
for (int i = 0; i < count; i++) {
System.out.println(cars[i]);
}
}
// 主菜单
public void menu() {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("=========汽车租赁系统=========");
System.out.println("1.添加汽车信息");
System.out.println("2.删除汽车信息");
System.out.println("3.查询汽车信息");
System.out.println("4.修改汽车信息");
System.out.println("5.显示所有汽车信息");
System.out.println("0.退出系统");
System.out.print("请选择操作:");
int choice = sc.nextInt();
switch (choice) {
case 1:
addCar();
break;
case 2:
deleteCar();
break;
case 3:
queryCar();
break;
case 4:
modifyCar();
break;
case 5:
showAllCars();
break;
case 0:
System.out.println("谢谢使用!");
return;
default:
System.out.println("输入有误,请重新输入!");
}
}
}
public static void main(String[] args) {
CarRentalSystem crs = new CarRentalSystem(100);
crs.menu();
}
}
```
阅读全文