• 汽车租赁系统


    package com.zuchexitong;
    //汽车类
    public abstract class QiCheLei {
        //车牌号  品牌 日租金
        private String chePaiHao;
        private String pinPai;
        private int riZuJin;
        
        public QiCheLei() {}
        
        public QiCheLei(String chePaiHao,String pinPai,int riZuJin) {
            this.chePaiHao = chePaiHao;
            this.pinPai = pinPai;
            this.riZuJin = riZuJin;
        }
        public String getChePaiHao() {
            return chePaiHao;
        }
        public void setChePaiHao(String chePaiHao) {
            this.chePaiHao = chePaiHao;
        }
        public String getPinPai() {
            return pinPai;
        }
        public void setPinpai(String pinpai) {
            this.pinPai = pinpai;
        }
        public int getRiZuJin() {
            return riZuJin;
        }
        public void setRiZuJin(int riZuJin) {
            this.riZuJin = riZuJin;
        }
        
        
        
        //计算租金  抽象方法
        public abstract float JiSuanZuJin(int days);
    }
    
    package com.zuchexitong;
    //轿车类
    public class Car extends QiCheLei {
        //    型号
        private String xingHao;
        
        public String getXingHao() {
            return xingHao;
        }
        
        public void setXingHao(String xingHao) {
            this.xingHao = xingHao;
        }
        
        public Car() {}
        
        public Car(String chePaiHao,String pinPai,int riZuJin,String xingHao) {
            super(chePaiHao,pinPai,riZuJin);
            this.xingHao = xingHao;
            
        }
        public float JiSuanZuJin(int days) {
            float price = this.getRiZuJin()*days;
            if(days>7 && days<=30) {
                price *= 0.9f;
            }else if(days>30 && days<=150) {
                price *=0.8f;
            }else if(days>150) {
                price *= 0.7f;
            }
            return price;
        }
    }
    
    
    package com.zuchexitong;
    //客车类
    public class Bus extends QiCheLei {
        //    座位上
        private int zuoWeiShu;
        
        public int getZuoWeiShu() {
            return zuoWeiShu;
        }
        public void setZuoWeiShu(int zuoWeiShu) {
            this.zuoWeiShu = zuoWeiShu;
        }
        
        public Bus() {}
        
        public Bus(String chePaiHao,String pinPai,int riZuJin,int zuoWeiShu) {
            super(chePaiHao,pinPai,riZuJin);
            this.zuoWeiShu = zuoWeiShu;
            
        }
        
        //重写父类的计算租金方法,根据自己租车天数计算租金
        public float JiSuanZuJin(int days) {
            float price = this.getRiZuJin()*days;
            if(days>=3 && days<=7) {
                price *= 0.9f;
            }else if(days>=7 && days<=30) {
                price *=0.8f;
            }else if(days>=30 && days<150) {
                price *= 0.7f;
            }else if(days>=150) {
                price *= 0.6f;
            }
            return price;
        }
    }
    
    
    package com.yewu;
    
    import com.zuchexitong.Bus;
    import com.zuchexitong.Car;
    import com.zuchexitong.QiCheLei;
    
    //汽车业务类
    public class YeWuLei {
        //汽车类型的数组,该数组声明为父类类型
        public QiCheLei[] qiChes = new QiCheLei[8];
        //初始化汽车信息
        public void init() {
            qiChes[0] = new Car("京B45454","宝马",800,"X6");
            qiChes[1] = new Car("京L21254","宝马",600,"550i");
            qiChes[2] = new Car("京N32454","别克",300,"林萌大道");
            qiChes[3] = new Car("京R45234","别克",600,"X6");
            qiChes[4] = new Bus("京N33314","金杯",800,16);
            qiChes[5] = new Bus("京F32222","金杯",1500,36);
            qiChes[6] = new Bus("京N55554","金龙",800,16);
            qiChes[7] = new Bus("京N56666","金龙",1500,36);
        }
        
        //租车 :根据用户提供的条件去汽车数组中查找相应的车类并返回
        //如果租赁的是客车  条件是:品牌  座位数  -- 型号null
        //如果是客车   条件是:品牌 型号    --座位数0
        public QiCheLei zuChe(String pinPai,String xingHao,int zuoWeiShu) {
            QiCheLei qiChe = null;
            for(QiCheLei myQiChe:qiChes) {
                if(myQiChe instanceof Car) {
                    Car car = (Car)myQiChe;
                    if(car.getPinPai().equals(pinPai) && car.getXingHao().equals(xingHao)) {
                        qiChe = car;
                        break;
                    }
                }else {
                    Bus bus = (Bus)myQiChe;
                    if(bus.getPinPai().equals(pinPai) && bus.getZuoWeiShu()==zuoWeiShu) {
                        qiChe = bus;
                        break;
                    }
                }
                
            }
            return qiChe;
            
        }
    }
    
    package com.yewu;
    //汽车租赁管理类  测试类
    import java.util.Scanner;
    
    import com.zuchexitong.QiCheLei;
    public final class Sest {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            YeWuLei che = new YeWuLei();
            //租赁公司首先需要购置汽车
            che.init();
            System.out.println("**************欢迎光临租赁公司*****************");
            
            System.out.println("1、轿车	2客车");
            System.out.println("请选汽车类型");
            int type = input.nextInt();
            //客户租车条件
            String pinPai ="";//品牌
            String xingHao ="";//型号
            int zuoWeiShu = 0;//座位数
            //收集用户条件
            if(type == 1) {
                //租赁轿车
                System.out.println("请选择您要租的轿车品牌:1、别克 2宝马");
                int choose = input.nextInt();
                if(choose == 1) {
                    pinPai = "别克";
                    System.out.println("请选择汽车型号:1、林萌大道 2、GL8");
                    xingHao = (input.nextInt() == 1)?"林萌大道":"GL8";
                }else if(choose == 2) {
                    pinPai = "宝马";
                    System.out.println("请选择汽车型号:1、X6 2、550i");
                    xingHao = (input.nextInt() == 1)?"X6":"550i";
                }
            }else if(type == 2) {
                //租赁客车
                xingHao = "";
                System.out.println("请选汽车品牌:1、金杯 2、金龙");
                pinPai = (input.nextInt() == 1)?"金杯":"金龙";
                System.out.println("请选择您要组的客车座位数:1、16 2、36");
                zuoWeiShu = (input.nextInt() == 1)?16:36;
            }
            //租车
            QiCheLei myChe = che.zuChe(pinPai, xingHao, zuoWeiShu);
            System.out.println("请输入您租赁的天数:");
            int days = input.nextInt();
            float money = myChe.JiSuanZuJin(days);
            System.out.println("租车成功,按照如下车牌取车:"+myChe.getChePaiHao());
            System.out.println("您需要支付:"+money+"");
        }
    }

  • 相关阅读:
    Hdoj 1203.I NEED A OFFER! 题解
    Hdoj 4508.湫湫系列故事——减肥记I 题解
    Hdoj 2191.悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 题解
    Hdoj 1248.寒冰王座 题解
    idea配置(卡顿、开发环境等配置),code style template
    经典收藏链接(C#总结)
    C#设计模式:原型模式(Prototype)及深拷贝、浅拷贝
    值类型和引用类型深入理解
    Resharper的配置和使用
    批处理bat 命令
  • 原文地址:https://www.cnblogs.com/zxbaoer/p/10383605.html
Copyright © 2020-2023  润新知