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

Java入门第二季 租车系统

标签:
Java

图片描述
二、代码实现:
(1)基础版(控制台调试):
car类:

package com.xiaoyao.car;
import java.util.List;
public class Car{
    private int id;//租车序号
    private int typeId;//租车分类下的序号
    private String name;//租车名字
    private double price;//租车单价
    private int personLoad;//载客量;
    private double goodsLoad;//载货量;
    private List<Car> carList;
    public int getId() {
        return id;
}
public void setId(int id) {
    this.id = id;
    }
    public int getTypeId() {
        return typeId;
    }
    public void setTypeId(int typeId) {
        this.typeId = typeId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public int getPersonLoad() {
        return personLoad;
    }
    public void setPersonLoad(int personLoad) {
        this.personLoad = personLoad;
    }
    public double getGoodsLoad() {
        return goodsLoad;
    }
    public void setGoodsLoad(double goodsLoad) {
        this.goodsLoad = goodsLoad;
    }
    public List<Car> getCarList() {
        return carList;
    }
    public void setCarList(List<Car> carList) {
        this.carList = carList;
    }
}

carWithPerson类:

package com.xiaoyao.car;
import java.util.List;
public class CarWithPerson extends Car {
    private List<CarWithPerson> personCarList;  
    public CarWithPerson(int id, int typeId, String carName, double carPrice,int withPerson) {
        // TODO Auto-generated constructor stub
        super.setId(id);
        super.setTypeId(typeId);
        super.setName(carName);
        super.setPrice(carPrice);
        super.setPersonLoad(withPerson);
    }
    public List<CarWithPerson> getPersonCarList() {
        return personCarList;
    }
    public void setPersonCarList(List<CarWithPerson> personCarList) {
        this.personCarList = personCarList;
    }
}

carWithGoods类:

package com.xiaoyao.car;
import java.util.List;
public class CarWithGoods extends Car {
    private List<CarWithGoods> goodsCarList;
    public CarWithGoods(int id, int typeId, String carName, double carPrice, double withGoods) {
        // TODO Auto-generated constructor stub
        super.setId(id);
        super.setTypeId(typeId);
        super.setName(carName);
        super.setPrice(carPrice);
        super.setGoodsLoad(withGoods);
    }
    public List<CarWithGoods> getGoodsCarList() {
        return goodsCarList;
    }
    public void setGoodsCarList(List<CarWithGoods> goodsCarList) {
        this.goodsCarList = goodsCarList;
    }
}

carWithPersonAndGoods类:

package com.xiaoyao.car;
import java.util.List;

public class CarWithGoods extends Car {
    private List<CarWithGoods> goodsCarList;
    public CarWithGoods(int id, int typeId, String carName, double carPrice, double withGoods) {
        // TODO Auto-generated constructor stub
        super.setId(id);
        super.setTypeId(typeId);
        super.setName(carName);
        super.setPrice(carPrice);
        super.setGoodsLoad(withGoods);
    }
    public List<CarWithGoods> getGoodsCarList() {
        return goodsCarList;
    }
    public void setGoodsCarList(List<CarWithGoods> goodsCarList) {
        this.goodsCarList = goodsCarList;
    }
}

test类

package com.xiaoyao.car;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
public class test extends Car {
    public static void main(String[] args) {
        // 问答:
        Scanner sc = new Scanner(System.in);
        System.out.println("欢迎使用租车系统,您是否要租车?");
        System.out.println("是:请输入1;否:请输入0;");
        int num = sc.nextInt();
        if (num != 1) {
            System.out.println("欢迎下次光临");
            System.exit(0);
        } else {
        }
        // 输入租车时间:
        System.out.println("请输入租车天数");
        int days = sc.nextInt();        
        // 选择车辆类型:
        System.out.println("请选择车辆类型:0:全部显示;1:载人车;2:载货车;3:皮卡车;");
        int carType = sc.nextInt();
        // 输出可租车信息:
        System.out.println("您可租车的类型及其价目表:");
        System.out.println("序号   汽车名称     租金     容量");
        // 录入车辆信息:
        LinkedList<CarWithPerson> personCar = new LinkedList<CarWithPerson>();
        LinkedList<CarWithGoods> goodsCar = new LinkedList<CarWithGoods>();
        LinkedList<CarWithPersonAndGoods> personAndGoodsCar = new LinkedList<CarWithPersonAndGoods>();
        LinkedList<Car> cars = new LinkedList<Car>();
        CarWithPerson personCar1 = new CarWithPerson(1, 1, "奥迪A4", 500.0, 4),
        personCar2 = new CarWithPerson(2, 2,"马自达6", 400.0, 4),
        personCar3 = new CarWithPerson(3, 3,"金龙", 800.0, 20);
        CarWithGoods freightCar1 = new CarWithGoods(4, 1,"松花江", 400.0, 4.0),
        freightCar2 = new CarWithGoods(5, 2,"依维河", 1000.0, 20.0);
        CarWithPersonAndGoods personAndFreightCar1 = new CarWithPersonAndGoods(6, 1,"皮卡雪6", 450.0, 4, 2.0);
        goodsCar.add(freightCar1);
        goodsCar.add(freightCar2);
        personCar.add(personCar1);
        personCar.add(personCar2);
        personCar.add(personCar3);
        personAndGoodsCar.add(personAndFreightCar1);        
        cars.addAll(personCar);
        cars.addAll(goodsCar);
        cars.addAll(personAndGoodsCar);     
        int carsNumber = cars.size();
        int goodsCarNumber = goodsCar.size();
        int personCarNumber = personCar.size();
        int personAndGoodsCarNumber = personAndGoodsCar.size();
                //展示车辆
        switch (carType) {
        case 0:
            // 全部展示:
            System.out.println("共有" + carsNumber + "辆可租车");
            for (int i = 0; i < carsNumber; i++) {
                Car allCar = cars.get(i);
                System.out.println(allCar.getId()+ ".  " + "  " + allCar.getName() + "  " + allCar.getPrice() + "元/天    " + allCar.getPersonLoad() + "人  " + allCar.getGoodsLoad()+"吨 ");
            }
            System.out.println("请选择车辆序号:");
            int carId = sc.nextInt();
            int thereId = carId-1;
            System.out.println("请输入租车数量:");
            int number = sc.nextInt();          
            System.out.println("订单");
            System.out.println("车辆:" + cars.get(thereId).getName()+ "\n数量:" + number + "辆;\n单价:" + cars.get(thereId).getPrice() + "元/天;\n天数:" + days+"天; \n总载货:"+ cars.get(thereId).getGoodsLoad()*number + "吨  \n总载人: "+cars.get(thereId).getPersonLoad()*number+"人");
            System.out.println("合计总价:"+cars.get(thereId).getPrice()*days*number + "元。");
            break;
        case 1:
             //展示载客车:
                System.out.println("共有" + personCarNumber + "辆载客车");
                for (int i = 0; i < personCarNumber; i++) {
                    Car allCar = cars.get(i);
                    System.out.println((allCar.getId())+ ".\t" +allCar.getName() + "\t\t" + allCar.getPrice() + "元/天   \t" + allCar.getPersonLoad() + "人  \t ");
                }
                System.out.println("请选择车辆序号:");
                int carId1 = sc.nextInt();          
                int thereId1 = carId1-1;
                System.out.println("请输入租车数量:");
                int number1 = sc.nextInt();         
                System.out.println("订单");
                System.out.println("车辆:" + cars.get(thereId1).getName()+ "\n数量:" + number1 + "辆;\n单价:" + cars.get(thereId1).getPrice() + "元/天;\n天数:" + days+"天; \n总载人:"+cars.get(thereId1).getPersonLoad()*number1+"人");
                System.out.println("合计总价:"+cars.get(thereId1).getPrice()*days*number1 + "元。");
            break;
        case 2:
                // 展示载货车:
                System.out.println("共有" + goodsCarNumber + "辆载货车");
                for (int i = personCarNumber; i < goodsCarNumber+personCarNumber; i++) {
                    Car allCar = cars.get(i);
                    System.out.println((allCar.getId()-personCarNumber)+ ".\t" +allCar.getName() + "\t\t" + allCar.getPrice() + "元/天   \t" + allCar.getGoodsLoad() + "吨  \t ");
                }
                System.out.println("请选择车辆序号:");
                int carId2 = sc.nextInt();
                int thereId2 = carId2-1+personCarNumber;            
                System.out.println("请输入租车数量:");
                int number2 = sc.nextInt();
                System.out.println("订单");
                System.out.println("车辆:" + cars.get(thereId2).getName()+ "\n数量:" + number2 + "辆;\n单价:" + cars.get(thereId2).getPrice() + "元/天;\n天数:" + days+"天; \n总载货:"+ cars.get(thereId2).getGoodsLoad()*number2 + "吨  \t ");
                System.out.println("合计总价:"+cars.get(thereId2).getPrice()*days*number2 + "元。");
            break;
        case 3:
            // 展示皮卡车:
                System.out.println("共有" + personAndGoodsCarNumber + "辆皮卡车");
                for (int i = goodsCarNumber+personCarNumber; i < personCarNumber+goodsCarNumber+personAndGoodsCarNumber; i++) {
                    Car allCar = cars.get(i);
                    System.out.println((allCar.getId()-goodsCarNumber-personCarNumber)+ ".\t" +allCar.getName() + "\t\t" + allCar.getPrice() + "元/天   \t" + allCar.getPersonLoad() + "人  \t "+ allCar.getGoodsLoad() + "吨  \t ");
                }
                System.out.println("请选择车辆序号:");
                int carId3 = sc.nextInt();
                int thereId3 = carId3-1+personCarNumber+goodsCarNumber;         
                System.out.println("请输入租车数量:");
                int number3 = sc.nextInt();
                System.out.println("订单");
                System.out.println("车辆:" + cars.get(thereId3).getName()+ "\n数量:" + number3 + "辆;\n单价:" + cars.get(thereId3).getPrice() + "元/天;\n时间:" + days+"天; \n总载人:"+cars.get(thereId3).getPersonLoad()*number3+"人;  \n总载货:"+cars.get(thereId3).getGoodsLoad()*number3+"吨;");
                System.out.println("合计总价:"+cars.get(thereId3).getPrice()*days*number3 + "元。");
            break;
        default:
            System.out.println("请正确输入指令:1 or 2 or 3");
        }
    }
}

结果展示:
全部车:
图片描述
分类展示车:
图片描述
(2)修改版(页面展示):

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消