zoukankan      html  css  js  c++  java
  • 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、宝马	2、别克):");
    			int se = cxj.nextInt();
    			if(se==1) {
    				medol = "宝马";
    				System.out.print("请选择型号(1、X6	2、550i):");
    				int a = cxj.nextInt();
    				if(a==1) {
    					type = "X6";
    				}else {
    					type = "550i";
    				}
    			}else {
    				medol = "别克";
    				System.out.print("请选择型号(1、林萌大道	2、GL8):");
    				int a = cxj.nextInt();
    				if(a==1) {
    					type = "林萌大道";
    				}else {
    					type = "GL8";
    				}
    			}
    		}else {
    			System.out.print("请选择车型(1、金龙	2、金杯):");
    			int se = cxj.nextInt();
    			if(se==1) {
    				medol = "金龙";
    				System.out.print("请选择座数(1、16	2、34):");
    				int a = cxj.nextInt();
    				if(a==1) {
    					seat = 16;
    				}else {
    					seat = 34;
    				}
    			}else {
    				medol = "金杯";
    				System.out.print("请选择座数(1、16	2、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);	
    	}
    }
    

      结果示例:

  • 相关阅读:
    oracle字符集查看修改
    oracle查看所有表及字段
    oracle重新启动步骤
    oracle job 定时执行 存储过程
    oracle导入导出exp,imp
    oracle创建表空间
    Oracle Dataguard HA (主备,灾备)方案部署调试
    Moving Tables-贪心
    Windows下Android开发环境配置
    在单进程单线程或单进程多线程下实现log4cplus写日志并按大小切割
  • 原文地址:https://www.cnblogs.com/chenxj/p/10303122.html
Copyright © 2011-2022 走看看