2019-1-22 汽车租赁

package java_car_duotai;
/**
 * 车类,父类
 * @author Administrator
 */
public abstract class Car {
	private String model;//品牌型号
	private String no;//车牌号
	private double price;//日租金
	
	public Car() {}
	
	public Car(String model,String no,double price) {
		this.model = model;
		this.no = no;
		this.price = price;
	}
	
	public String getModel() {
		return model;
	}
	public void setModel(String model) {
		this.model = model;
	}
	public String getNo() {
		return no;
	}
	public void setNo(String no) {
		this.no = no;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	
	public abstract double discount(int day);
	
}

  

package java_car_duotai;
/**
 * 客车类
 * @author Administrator
 */
public class Passenger extends Car {
	private int seat;//几座
	
	public Passenger() {}
	
	public Passenger(String model,String no,double price,int seat) {
		super(model,no,price);
		this.seat = seat;
	}

	public int getSeat() {
		return seat;
	}

	public void setSeat(int seat) {
		this.seat = seat;
	}
	
	//计算客车出折扣后的日租金
	public double discount(int day) {
		double money = 0;
		if(day>=150) {
			money = super.getPrice()*0.6;
		}else if(day>=30) {
			money = super.getPrice()*0.7;
		}else if(day>=7) {
			money = super.getPrice()*0.8;
		}else if(day>=3) {
			money = super.getPrice()*0.9;
		}else {
			money = super.getPrice();
		}
		return money;
	}
}

  

package java_car_duotai;
/**
 * 轿车类
 * @author Administrator
 */
public class Saloon extends Car {
	
	private String type;
	
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public Saloon() {}
	
	public Saloon(String model,String no,double price,String type) {
		super(model,no,price);
		this.type = type;
	}
	
	//计算出轿车折扣后的日租金
		public double discount(int day) {
			double money = 0;
			if(day>=150) {
				money = super.getPrice()*0.7;
			}else if(day>=30) {
				money = super.getPrice()*0.8;
			}else if(day>=7) {
				money = super.getPrice()*0.9;
			}else {
				money = super.getPrice();
			}
			return money;
		}
}

  

package java_car_duotai;

public class ShowCar {

	Car sc[] = new Car[8];
    public void show() {
		sc[0] = new Passenger("金杯","京6566754",800.,16);
		sc[1] = new Passenger("金杯","京9696996",1500,34);
		sc[2] = new Passenger("金龙","京8696997",800,16);
		sc[3] = new Passenger("金龙","京8696998",1500,34);
		sc[4] = new Saloon("宝马","京NY28588",800,"X6");
		sc[5] = new Saloon("宝马","京CNY3284",600,"550i");
		sc[6] = new Saloon("别克","京NT37465",300,"林萌大道");
		sc[7] = new Saloon("别克","京NT96968",600,"GL8");
	}
    
    public Car selCar(String medol,String type,int seat) {
    	Car car = null;
    	for(Car c : sc) {
    		if(c instanceof Passenger) {
    			Passenger p = (Passenger)c;
    			if(p.getModel().equals(medol)&&p.getSeat()==seat) {
    				car = p;
    			}
    		}else if(c instanceof Saloon) {
    			Saloon s = (Saloon)c;
    			if(s.getModel().equals(medol)&&s.getType().equals(type)) {
    				car = s;
    			}
    		}
    	}
    	return car;
    }
}

  

package java_car_duotai;

import java.util.Scanner;

//客人类,选择车类弄
public class Test {
	public static void main(String[] args) {
		Scanner cxj = new Scanner(System.in);
		ShowCar sc = new ShowCar();
		Car cr = null;
		sc.show();
		System.out.print("请问您需要车类(1、轿车 2、客车):");
		int select = cxj.nextInt();
		String medol = null;
		String type = null;
		int seat = 0;
		if(select==1) {
			System.out.print("请选择车型(1、宝马\t2、别克):");
			int se = cxj.nextInt();
			if(se==1) {
				medol = "宝马";
				System.out.print("请选择型号(1、X6\t2、550i):");
				int a = cxj.nextInt();
				if(a==1) {
					type = "X6";
				}else {
					type = "550i";
				}
			}else {
				medol = "别克";
				System.out.print("请选择型号(1、林萌大道\t2、GL8):");
				int a = cxj.nextInt();
				if(a==1) {
					type = "林萌大道";
				}else {
					type = "GL8";
				}
			}
		}else {
			System.out.print("请选择车型(1、金龙\t2、金杯):");
			int se = cxj.nextInt();
			if(se==1) {
				medol = "金龙";
				System.out.print("请选择座数(1、16\t2、34):");
				int a = cxj.nextInt();
				if(a==1) {
					seat = 16;
				}else {
					seat = 34;
				}
			}else {
				medol = "金杯";
				System.out.print("请选择座数(1、16\t2、34):");
				int a = cxj.nextInt();
				if(a==1) {
					seat = 16;
				}else {
					seat = 34;
				}
			}
		}
		
		cr = sc.selCar(medol, type, seat);
		System.out.print("请问您要租几天:");
		int day = cxj.nextInt();
		double sum = cr.discount(day);
		System.out.println("折扣后日租金是:"+sum);
		System.out.println("给您安排的车的车牌号是:"+cr.getNo());
		System.out.println("总租金是:"+sum*day);	
	}
}

  结果示例:

 

posted on 2019-01-22 12:18  陈小锦  阅读(209)  评论(0编辑  收藏  举报