为了账号安全,请及时绑定邮箱和手机立即绑定

java第二季,嗒嗒租车系统编写。

标签:
Java

抽象类Car.java:

package com.oliver.rent;

public abstract class Car {

    public int carNumber; //编号
    public String carName;  //车名称
    public int rentValue; //租车价钱
    public int loadPeople; //载人数量
    public int loadGoods;//载货数量
    /**
     * @return the carNumber
     */
    public int getCarNumber() {
        return carNumber;
    }
    /**
     * @param carNumber the carNumber to set
     */
    public void setCarNumber(int carNumber) {
        this.carNumber = carNumber;
    }
    /**
     * @return the carName
     */
    public String getCarName() {
        return carName;
    }
    /**
     * @param carName the carName to set
     */
    public void setCarName(String carName) {
        this.carName = carName;
    }
    /**
     * @return the rentValue
     */
    public int getRentValue() {
        return rentValue;
    }
    /**
     * @param rentValue the rentValue to set
     */
    public void setRentValue(int rentValue) {
        this.rentValue = rentValue;
    }
    /**
     * @return the loadPeople
     */
    public int getLoadPeople() {
        return loadPeople;
    }
    /**
     * @param loadPeople the loadPeople to set
     */
    public void setLoadPeople(int loadPeople) {
        this.loadPeople = loadPeople;
    }
    /**
     * @return the loadGoods
     */
    public int getLoadGoods() {
        return loadGoods;
    }
    /**
     * @param loadGoods the loadGoods to set
     */
    public void setLoadGoods(int loadGoods) {
        this.loadGoods = loadGoods;
    }

}

PeopleCar.java:

package com.oliver.rent;

public class PeopleCar extends Car {

    public PeopleCar(int carNumber,String carName,int rentValue,int loadPeople) {
        this.carNumber = carNumber;
        this.carName = carName;
        this.rentValue = rentValue;
        this.loadPeople = loadPeople;
    }

}

PickCar.java:

package com.oliver.rent;

public class PickCar extends Car {

    public PickCar(int carNumber, String carName, int rentValue,
            int loadPeople,int loadGoods) {
        this.carNumber = carNumber;
        this.carName = carName;
        this.rentValue = rentValue;
        this.loadPeople = loadPeople;
        this.loadGoods = loadGoods;
    }
}

CargoCar.java:

package com.oliver.rent;

public class CargoCar extends Car {
    public CargoCar(int carNumber, String carName, int rentValue,
            int loadGoods) {
        this.carNumber = carNumber;
        this.carName = carName;
        this.rentValue = rentValue;
        this.loadGoods = loadGoods;
    }
}

主函数,逻辑核心代码:Initial.java

package com.oliver.rent;

import java.util.Scanner;

public class Initial {

    /**
     * @param args
     */
    public static void main(String[] args) {

        // 定义Car的数组,并实例化相关车的对象
        Car[] cars = { new PeopleCar(1, "奥迪A4", 500, 4),
                new PeopleCar(2, "马自达6", 400, 4),
                new PickCar(3, "皮卡雪6", 450, 2, 4),
                new PeopleCar(4, "金龙", 800, 20),
                new CargoCar(5, "松花江", 400, 4),
                new CargoCar(6, "依维柯", 1000, 20) };

        // 租车系统的介绍
        System.out.println("------欢迎使用嗒嗒租车系统------");
        System.out.println("请问您是否要租车:1-是  0-否");

        // 建立Scanner对象,用来接收用户的输入
        Scanner input = new Scanner(System.in);
        int number = input.nextInt();

        if (number == 0) {
            System.out.println("不租车,退出系统");
            System.exit(0);
        } else if (number != 1) {
            System.out.println("输入有误,退出系统");
            System.exit(0);
        } else {
            System.out.println("您可租车的类型及价目表:");
            System.out.println("序号    汽车名称    租金    容量");
            System.out.println("1      奥迪A4  500元/天    载人:4人");
            System.out.println("2      马自达6  400元/天    载人:4人");
            System.out.println("3      皮卡雪6  450元/天    载人:2人    载货:4吨");
            System.out.println("4      金龙              400元/天    载人:20人");
            System.out.println("5      松花江          400元/天    载货:4吨");
            System.out.println("6      依维柯          1000元/天    载货:20吨");

            System.out.println("请输入本次要租车的数量:");
            number = input.nextInt();

            // 定义相关变量用来记录数据
            Car[] carList = new Car[number]; // 存放所输入的车型
            int loadPeoples = 0; // 用来记录装载的所有人数
            int loadGoods = 0; // 用来记录装载的物品数量
            int prices = 0; // 用来记录租车的总费用

            // 遍历循环输入要租车的序号
            for (int i = 0; i < number; i++) {
                System.out.println("请输入第" + (i + 1) + "辆车的序号:");
                int inputNumber = input.nextInt();
                carList[i] = cars[inputNumber - 1];
                prices += carList[i].getRentValue();
            }
            System.out.println("请输入租车的天数:");
            int rentDay = input.nextInt();
            prices = prices * rentDay;
            System.out.println("您的账单:");
            System.out.println("可载人的车有:");
            //遍历所有车辆,来判断载人的车
            for(int i = 0;i<number;i++){
                //如果车辆中有PeopleCar或是PickCar,则表明该车可以载人
                if(carList[i] instanceof PeopleCar  carList[i] instanceof PickCar){
                    //每次遍历叠加载人数量
                    loadPeoples += carList[i].getLoadPeople();
                    System.out.print(carList[i].getCarName()+"\t");
                }

            }
            System.out.println("共载人:"+loadPeoples+"人");
            System.out.println("可载货的车有:");
            //遍历所有车辆,来判断载货的车
            for(int i = 0;i<number;i++){
                //如果车辆中有PickCar或是CargoCar,则表明该车可以载货
                if(carList[i] instanceof PickCar  carList[i] instanceof CargoCar){
                    //每次遍历叠加载货数量
                    loadGoods += carList[i].getLoadGoods();
                    System.out.print(carList[i].getLoadGoods()+"\t");
                }
            }
            System.out.println("共载货:"+loadGoods+"吨");
            System.out.println("租车总价格:" + prices);

        }

    }
}
点击查看更多内容
15人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消