Java面向对象小项目免费学Java入门答答租车系统

一、项目背景

       编写一个控制台程序,要求实现如下功能:

       1.展示所有可租车辆

       2.选择车型,租车量

       3.显示租车清单,包括:总载货量,总载客量,总金额等;

 

二、车的类别

       客车:只能载客

       货车:只能载货

       皮卡:既能载人,有能载货

 

下面给出源代码,仅供参考:

父类:Car类:

package com.mianfeixue.car;

 

public class Car {

      String name;//车的名字

      int cargocapacity;//车载重量

      int busload;//车的载客量

      int dailyrent;//车日租金

}

 

子类一:客车类 passengerCar类:

package com.mianfeixue.car;

 

public class passengerCar extends Car{

 

public passengerCar(String name,int busload,int dailyrent) {

this.name=name;

this.busload=busload;

this.dailyrent=dailyrent;

}

    

}

 

子类二:货车类 Truck类:

package com.mianfeixue.car;

 

public class Truck extends Car{

public Truck(String name,int cargocapacity,int dailyrent) {

this.name=name;

this.cargocapacity=cargocapacity;

    this.dailyrent=dailyrent;

}

}

 

子类三:皮卡类 Pickup类:

package com.mianfeixue.car;

 

public class Pickup extends Car{

public Pickup(String name,int cargocapacity,int busload,int dailyrent) {

this.name=name;

this.cargocapacity=cargocapacity;

this.busload=busload;

this.dailyrent=dailyrent;

}

}

 

具体实现类:CarRentApp:

package com.mianfeixue.car;

 

import java.util.Scanner;

 

public class CarRentApp {

 

public static void main(String[] args) {

System.out.println("欢迎使用滴滴租车系统");

        Scanner in=new Scanner(System.in);

        //利用对象数组和多态的特性产生不同种类的车并保存

        Car[] cars={

        new passengerCar("奔驰",4,200),

        new Truck("小卡车",3,260),

        new passengerCar("宝马",3,160),

        new Pickup("皮卡",3,2,400),

        new passengerCar("奔驰",4,200),

        new Truck("大货车",10,400),

        };

        System.out.println("是否要租车:");

        System.out.println("1 是    0 否");

        int choice=in.nextInt();

        if(choice==1){

        int totalcargocapacity=0;//总载货量

        int totalbusload=0;//总载客量

        int totalrent=0;//总租金

       

        System.out.println("可供选择的车如下");

        int num=1;

        System.out.println("序号\t"+"车名\t"+"日租金\t"+"载量\t");

        for(Car car:cars){

        System.out.print("NUM."+num+'\t');

        if(car instanceof passengerCar){//解决不同车具有不同的特征,用instanceof关键字

        System.out.println(cars[num-1].name+'\t'

        +cars[num-1].dailyrent+"元 \t"+cars[num-1].busload+"人");

        num++;

        }

        if(car instanceof Truck){

        System.out.println(cars[num-1].name+'\t'

        +cars[num-1].dailyrent+"元 \t"+cars[num-1].cargocapacity+"吨");

        num++;

        }

        if(car instanceof Pickup){

        System.out.println(cars[num-1].name+'\t'

        +cars[num-1].dailyrent+"元  \t"+"载货量:"+cars[num-1].cargocapacity

        +"吨  载客量:"+cars[num-1].busload+"人");

        num++;

        }

        }

        System.out.println("请输入租车的数量");

        int count=in.nextInt();

        for(int i=0;i

        System.out.println("请输入要租车量的序号");

        int NUM=in.nextInt();

        if(cars[NUM-1] instanceof passengerCar){

        totalbusload+=cars[NUM-1].busload;

        totalrent+=cars[NUM-1].dailyrent;

        }

        if(cars[NUM-1] instanceof Truck){

        totalcargocapacity+=cars[NUM-1].cargocapacity;

        totalrent+=cars[NUM-1].dailyrent;

        }

        if(cars[NUM-1] instanceof Pickup){

        totalbusload+=cars[NUM-1].busload;

        totalcargocapacity+=cars[NUM-1].cargocapacity;

        totalrent+=cars[NUM-1].dailyrent;

        }

        }

        System.out.println("请输入租用的天数");

        int rentday=in.nextInt();

        totalrent*=rentday;

        System.out.println("总载人数:"+totalbusload+"人\t"

                  +"总载货量:"+totalcargocapacity+"吨 \t"

          +"总共需要的钱数:"+totalrent+"元"

        );

        }

}

 

}

 

运行结果:

欢迎使用滴滴租车系统

是否要租车:

1 是    0 否

1

可供选择的车如下

序号 车名 日租金 载量

NUM.1 奔驰 200元 4人

NUM.2 小卡车 260元 3吨

NUM.3 宝马 160元 3人

NUM.4 皮卡 400元  载货量:3吨  载客量:2人

NUM.5 奔驰 200元 4人

NUM.6 大货车 400元 10吨

请输入租车的数量

3

请输入要租车量的序号

1

请输入要租车量的序号

5

请输入要租车量的序号

3

请输入租用的天数

2

总载人数:11人 总载货量:0吨 总共需要的钱数:1120元

 

    想要了解更多Java知识点击加入我们一起学习交流一起进步吧!

                          点击链接加入群【java】:高薪-Java资源共享群

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值