标签:code eof turn .com info input public 声明 color
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、轿车\t2客车"); 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+"元"); } }
标签:code eof turn .com info input public 声明 color
原文地址:https://www.cnblogs.com/zxbaoer/p/10383605.html