Java-数组完成租车系统案例
要求:实现租车的种类选择,租车的天数,折扣租赁的费用计算,分配汽车的牌号。
创建汽车类:
public class Automobile {
private String plate;//车牌
private String brand;//品牌
private int rent;//租金
public Automobile(String plate, String brand, int rent) {
this.plate = plate;
this.brand = brand;
this.rent = rent;
}
public String getPlate() {
return plate;
}
public void setPlate(String plate) {
this.plate = plate;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getRent() {
return rent;
}
public void setRent(int rent) {
this.rent = rent;
}
}
创建轿车类:
public class Car extends Automobile {
private String model;//型号
public Car(String plate, String brand, int rent, String model) {
super(plate, brand, rent);
this.model = model;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
创建客车类:
public class Bus extends Automobile {
private String seatNumber;//座位数
public Bus(String plate, String brand, int rent, String seatNumber) {
super(plate, brand, rent);
this.seatNumber = seatNumber;
}
public String getSeatNumber() {
return seatNumber;
}
public void setSeatNumber(String seatNumber) {
this.seatNumber = seatNumber;
}
}
汽车租赁管理类:
public class AutomobileManage {
/*初始化轿车*/
public Car[] initCar(){
Car car1 = new Car("京NY28588","宝马",800,"X6");
Car car2 = new Car("京CNY3282","宝马",600,"550i");
Car car3 = new Car("京NT37465","别克",300,"绿荫大道");
Car car4 = new Car("京NT96968","别克",600,"GL8");
Car[] cars={car1,car2,car3,car4};
return cars;
}
/*初始化客车*/
public Bus[] initBus(){
Bus bus1 = new Bus("京5673432","金杯",800,"16");
Bus bus2 = new Bus("京NY28555","金龙",800,"16");
Bus bus3 = new Bus("京NY23274","金杯",1500,"34");
Bus bus4 = new Bus("京NY28573","金龙",1500,"34");
Bus[] buses={bus1,bus2,bus3,bus4};
return buses;
}
}
汽车业务类:
public class AutomobileService {
/*租车服务入口*/
public void rentService(){
System.out.println("**********欢迎来到秋名山租车系统************");
Scanner scanner = new Scanner(System.in);
System.out.print("请选择你要租的汽车类型:1.轿车,2.客车:");
int type = scanner.nextInt();
AutomobileManage automobileManage = new AutomobileManage();
String brand;/*车的牌号*/
int day;/*租车的天数*/
if(type==1){
Car[] cars = automobileManage.initCar();
System.out.print("请选择你要租凭的汽车品牌:别克,宝马:");
brand = scanner.next();
String model;//车的型号
if(brand.equals("宝马")){
System.out.print("请选择你要租赁的汽车型号:X6,550i:");
model = scanner.next();
/*调用选择汽车的方法*/
Car car = carChooesService(cars, brand, model);
System.out.print("请输入您要租赁的天数:");
day = scanner.nextInt();
/*调用轿车的算钱方法*/
carRantService(car,day);
}else{
System.out.print("请选择你要租赁的汽车型号:林荫大道,GL8:");
model = scanner.next();
Car car = carChooesService(cars, brand, model);
System.out.print("请输入您要租赁的天数:");
day = scanner.nextInt();
carRantService(car,day);
}
}else{
/*得到客车数组*/
Bus[] buses = automobileManage.initBus();
System.out.print("请选择你要租凭的汽车品牌:金龙,金杯:");
brand = scanner.next();
System.out.print("请选择你要租赁的汽车座位数:16,34:");
String seatNumber=scanner.next();
/*调用选择客车的方法*/
Bus bus = busChooesService(buses, brand, seatNumber);
System.out.print("请输入您要租赁的天数:");
day = scanner.nextInt();
/*调用计算客车租金的方法*/
busRantService(bus,day);
}
}
/*选择汽车服务服务*/
public Car carChooesService(Car[] cars,String brand,String model){
for (int i = 0; i < cars.length; i++) {
if(brand.equals(cars[i].getBrand()) && model.equals(cars[i].getModel())){
return cars[i];
}
}
return null;
}
/*选择客车服务服务*/
public Bus busChooesService(Bus[] buses,String brand,String seatNumber){
for (int i = 0; i < buses.length; i++) {
if(brand.equals(buses[i].getBrand()) && seatNumber.equals(buses[i].getSeatNumber())){
return buses[i];
}
}
return null;
}
/*计算轿车租金*/
public void carRantService(Car car,int day){
System.out.println("分配你的汽车牌号是:"+car.getPlate());
if(day>150){
System.out.println("您需要支付的租赁费用是:"+car.getRent() * day * 0.7+"元");
}else if(day>30){
System.out.println("您需要支付的租赁费用是:"+car.getRent() * day * 0.8+"元");
}else if(day>7){
System.out.println("您需要支付的租赁费用是:"+car.getRent() * day * 0.9+"元");
}else{
System.out.println("您需要支付的租赁费用是:"+car.getRent() * day+"元");
}
}
/*计算客车租金*/
public void busRantService(Bus bus,int day){
System.out.println("分配你的汽车牌号是:"+bus.getPlate());
if(day>=150){
System.out.println("您需要支付的租赁费用是:"+bus.getRent() * day * 0.6+"元");
}else if(day>=30){
System.out.println("您需要支付的租赁费用是:"+bus.getRent() * day * 0.7+"元");
}else if(day>=7){
System.out.println("您需要支付的租赁费用是:"+bus.getRent() * day * 0.8+"元");
}else if(day>=3){
System.out.println("您需要支付的租赁费用是:"+bus.getRent() * day * 0.9+"元");
}else{
System.out.println("您需要支付的租赁费用是:"+bus.getRent() * day+"元");
}
}
}
测试类:
public class Test {
public static void main(String[] args) {
AutomobileService automobileService = new AutomobileService();
automobileService.rentService();
}
}