package Work02;
import java.util.ArrayList;
import java.util.Collections;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Garage {
private final Scanner input = new Scanner(System.in);
private final ArrayList<MotoVechicle> allCars = new ArrayList<>();
private final ArrayList<MotoVechicle> rentedCars = new ArrayList<>();
// 静态代码块,初始化车辆信息
{
Car c1 = new Car("鄂A123456", "别克", 600, "商务舱GL8");
Car c2 = new Car("鄂C763456", "宝马", 500, "GL8");
Car c3 = new Car("鄂B123986", "别克", 300, "林荫大道");
Bus b1 = new Bus("京B123986", "金杯", 800, 16);
Bus b2 = new Bus("京D523986", "金杯", 1500, 26);
Bus b3 = new Bus("京K123986", "金龙", 800, 16);
Bus b4 = new Bus("京D923986", "金龙", 1500, 26);
Collections.addAll(allCars, c1, c2, c3, b1, b2, b3, b4);
}
// 初始化界面
public void init() {
System.out.println("欢迎来到武汉鸿鹏汽车公司!");
while (true) {
System.out.println("请选择您需要的服务(1.租车)(2.还车)(3.退出):");
int choose = input.nextInt();
switch (choose) {
case 1:
rentCar();
break;
case 2:
System.out.println("欢迎来到汽车还车系统!");
returnCar();
break;
case 3:
System.out.println("再见");
System.exit(0);
default:
System.out.println("输入有误!");
}
}
}
// 租车方法
public void rentCar() {
System.out.println("欢迎来到汽车租赁系统!");
System.out.println("请输入租车天数:");
int days = input.nextInt();
while (true) {
System.out.println("以下是在库可租的车");
showInfo();
System.out.println("请输入心怡车的编号:");
int choose = input.nextInt();
if (choose >= 0 && choose < allCars.size()) {
MotoVechicle chosenCar = allCars.get(choose);
System.out.println("租车成功!租车信息:" + chosenCar.getCarNumber());
rentedCars.add(chosenCar);
allCars.remove(choose);
} else {
System.out.println("输入有误!租车失败");
}
System.out.println("是否继续租车?(y/n)");
String yes = input.next();
if (!yes.equalsIgnoreCase("y")) {
break;
}
}
int totalMoney = 0;
for (MotoVechicle rentedCar : rentedCars) {
totalMoney += rentedCar.getDayMoney() * days;
}
System.out.println("你需要支付:" + totalMoney + "元");
init();
}
// 还车方法
public void returnCar() {
System.out.println("请输入需要还的车的车牌号:");
String carNumber = input.next();
MotoVechicle returnCar = null;
for (MotoVechicle car : rentedCars) {
if (car.getCarNumber().equals(carNumber)) {
returnCar = car;
break;
}
}
if (returnCar != null) {
System.out.println("归还成功!");
rentedCars.remove(returnCar);
allCars.add(returnCar);
} else {
System.out.println("车牌输入有误!");
}
}
// 显示在库车辆信息
public void showInfo() {
int num = 0;
for (MotoVechicle car : allCars) {
if (car instanceof Car) {
System.out.println("编号" + num + ". 车牌:" + car.getCarNumber() +
", 品牌:" + car.getBrand() +
", 租金:" + car.getDayMoney() +
", 车型:" + ((Car) car).getType());
} else {
System.out.println("编号" + num + ". 车牌:" + car.getCarNumber() +
", 品牌:" + car.getBrand() +
", 租金:" + car.getDayMoney() +
", 座位数:" + ((Bus) car).getSeatCount());
}
num++;
}
}
}
package Work02;
public class MotoVechicle {
private String carNumber; // 车牌
private String brand; // 品牌
private int dayMoney; // 日租金
public MotoVechicle(String carNumber, String brand, int dayMoney) {
this.carNumber = carNumber;
this.brand = brand;
this.dayMoney = dayMoney;
}
public String getCarNumber() {
return carNumber;
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getDayMoney() {
return dayMoney;
}
public void setDayMoney(int dayMoney) {
this.dayMoney = dayMoney;
}
}
package Work02;
public class Car extends MotoVechicle {
private String Type; // 型号
public Car(String carNumber, String brand, int dayMoney, String type) {
super(carNumber, brand, dayMoney);
Type = type;
}
public String getType() {
return Type;
}
public void setType(String type) {
Type = type;
}
}
package Work02;
public class Bus extends MotoVechicle {
private int seatCount; // 座位数
public Bus(String carNumber, String brand, int dayMoney, int seatCount) {
super(carNumber, brand, dayMoney);
this.seatCount = seatCount;
}
public int getSeatCount() {
return seatCount;
}
public void setSeatCount(int seatCount) {
this.seatCount = seatCount;
}
}
package Work02.Text;
import Work02.Garage;
public class TextCar {
public static void main(String[] args) {
Garage g = new Garage();
g.init();
}
}