汽车租赁系统

系统要求:

测试类main方法代码:

package com.carPackage;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        EasyCar car = new EasyCar();
        car.init();
        String brand = "";
        String type = "";
        int number = 0;
        System.out.println("***********欢迎来到红旗租车系统************");
        System.out.println("请选择您要租的汽车类:1、轿车 2、客车");
        int carType;
        while(true){
            carType = s.nextInt();
            if(carType==1||carType==2){
                break;
            }
            System.out.println("输入错误!请选择1或2!" );
        }
        if(carType == 1){
            System.out.println("请输入您要租的汽车品牌:1、宝马 2、别克");
            int cheXing;
            while(true){
                cheXing = s.nextInt();
                if(cheXing==1||cheXing==2){
                    break;
                }
                System.out.println("输入错误!请选择1或2!" );
            }
            if(cheXing == 1){
                brand ="宝马";
                System.out.println("请选择您要租的宝马型号:1、X6 2、550i");
                int xingHao;
                while(true){
                    xingHao = s.nextInt();
                    if(xingHao==1||xingHao==2){
                        break;
                    }
                    System.out.println("输入错误!请选择1或2!" );
                }
                type = (xingHao == 1 ? "X6":"550i");
            }else if(cheXing == 2){
                brand ="别克";
                System.out.println("请选择您要租的别克型号:1、GL8 2、林荫大道");
                int xingHao;
                while(true){
                    xingHao = s.nextInt();
                    if(xingHao==1||xingHao==2){
                        break;
                    }
                    System.out.println("输入错误!请选择1或2!" );
                }
                type = (xingHao == 1 ? "GL8":"林荫大道");
            }
        }else if(carType == 2){
            System.out.println("请输入您要租的汽车品牌:1、金龙 2、金杯");
            int cheXing ;
            while(true){
                cheXing = s.nextInt();
                if(cheXing==1||cheXing==2){
                    break;
                }
                System.out.println("输入错误!请选择1或2!" );
            }
            if(cheXing == 1){
                brand ="金龙";
                System.out.println("请选择您要租的金龙的座位数:1、16 2、34");
                int xingHao;
                while(true){
                    xingHao = s.nextInt();
                    if(xingHao==1||xingHao==2){
                        break;
                    }
                    System.out.println("输入错误!请选择1或2!" );
                }
                number = (xingHao == 1 ? 16:34);
            }else if(cheXing == 2){
                type = "";
                brand ="金杯";
                System.out.println("请选择您要租的金杯的座位数:1、16 2、34");
                int xingHao;
                while(true){
                    xingHao = s.nextInt();
                    if(xingHao==1||xingHao==2){
                        break;
                    }
                    System.out.println("输入错误!请选择1或2!" );
                }
                number = (xingHao == 1 ? 16:34);
            }
        }
        Car rentCar = car.choose(brand,type,number);
        System.out.println("请输入您要租的天数:");
        int day = s.nextInt();
        double price = rentCar.pay(day);
        System.out.println("租车成功!您租的车的车牌号为:"+rentCar.getCarNumber());
        System.out.println("您需要交费"+price+"元租金");
    }
}

汽车父类代码:

package com.carPackage;

public abstract class Car {
    private String carNumber;
    private String cheXing;
    private int rent;

    public Car(){}
    public Car(String carNumber,String cheXing,int rent){
        super();
        this.carNumber = carNumber;
        this.cheXing = cheXing;
        this.rent = rent;
    }

    public String getCarNumber() {
        return carNumber;
    }

    public void setCarNumber(String carNumber) {
        this.carNumber = carNumber;
    }

    public String getCheXing() {
        return cheXing;
    }

    public void setCheXing(String cheXing) {
        this.cheXing = cheXing;
    }

    public int getRent() {
        return rent;
    }

    public void setRent(int rent) {
        this.rent = rent;
    }

    public abstract double pay(int day) ;
}

轿车类代码:

package com.carPackage;

public class SmallCar extends Car{
    private String type;

    public SmallCar(String carNumber,String cheXing,int rent, String type){
        super(carNumber,cheXing,rent);
        this.type = type;
    }

    public String getType() {
        return type;
    }

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

    public double pay(int day) {
        double money = getRent() * day;
        if(day>7 && day<=30){
            money = money * 0.9;
        }else if(day>30 && day<=150){
            money = money * 0.8;
        }else if(day>150){
            money = money * 0.7;
        }
        return money;
    }
}

客车类代码:

package com.carPackage;

public class BigCar extends Car{
    private String number;

    public BigCar(String carNumber,String cheXing,int rent, String number){
        super(carNumber,cheXing,rent);
        this.number = number;
    }
    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public double pay(int day) {
        double money = getRent() * day;
        if(day>=3 && day<7){
            money = money * 0.9;
        }else if(day>=7 && day<30){
            money = money * 0.8;
        }else if(day>=30 && day<150){
            money = money * 0.7;
        }else if(day>=150){
            money = money * 0.6;
        }
        return money;
    }
}

租车类代码:

package com.carPackage;

public class EasyCar {
    public Car[] cars = new Car[8];
    public void init(){
        cars[0] = new SmallCar("京A88888","宝马",800,"X6");
        cars[1] = new SmallCar("京B66666","宝马",600,"550i");
        cars[2] = new SmallCar("京C12345","别克",600,"GL8");
        cars[3] = new SmallCar("京C68834","别克",300,"林荫大道");
        cars[4] = new BigCar("京234566","金杯",800,"16");
        cars[5] = new BigCar("京423479","金杯",1500,"34");
        cars[6] = new BigCar("京124354","金龙",800,"16");
        cars[7] = new BigCar("京765744","金龙",1500,"34");

    }

    public Car choose(String cheXing,String type, int number){
        Car car = null;
        for(int i = 0;i<8;i++){
            if(cars[i] instanceof SmallCar){
                SmallCar smallCar = (SmallCar)cars[i];
                if(smallCar.getCheXing().equals(cheXing) && smallCar.getType().equals(type)){
                    car = cars[i];
                    break;
                }
            }else if(cars[i] instanceof BigCar){
                BigCar bigCar = (BigCar) cars[i];
                if(bigCar.getCheXing().equals(number) && bigCar.getNumber().equals(number)){
                    car = cars[i];
                    break;
                }
            }
        }
        return car;
    }

}

运行结果:

 

转载于:https://www.cnblogs.com/yangwenxiang/p/10333610.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值