//定义一个父类

public class Car {
      String name;//车名
      double  rent;//租金
    public String getName(){
            return name;
    }
    public void setName(String carName){
            this.name=carName;
    }
    public double getRent(){
            return  rent;
    }
    public void setRent(String carRent){
        this.name=carRent;
    }
}
//定义客车并继承Car

public class PassengerCar extends Car {
    private int  peopleCapacity;//载客量
    public PassengerCar(String name,double rent,int peopleCapacity){//构造方法可以在实例化对象时候直接这个对象进行赋值
           this.name=name;
           this.rent=rent;
           this.peopleCapacity=peopleCapacity;
   }
   public int getPeopleCapacity(){
           return peopleCapacity;
   }
   public void setPeopleCapacity(int  peoplecapacity){
           this.peopleCapacity=peoplecapacity;
   }
}

//定义货车并继承Car

public class Truck extends Car {
    private int cargoCapacity;//载货量
    public int getCargoCapacity(){
            return cargoCapacity;
    }
    public void setCargoCapacity(int cargocapacity){
            this.cargoCapacity=cargocapacity;
    }
    public Truck(String name,double rent,int cargoCapacity){//构造方法可以在实例化对象时候九尾这个对象进行赋值
            this.name=name;//this.name是访问成员变量
            this.rent=rent;
            this.cargoCapacity=cargoCapacity;
    }
}

//定义一个测试类

import java.util.Scanner;
public class Test {
    public static void main(String[] args){//定义一个类数组
        Car[] car={new PassengerCar("奥迪",500,4),new PassengerCar("马自达",400,4),new Truck("金龙",800,20),new Truck("松花江",400,4),new Truck("依维柯",1000,20)};
        System.out.println("欢迎使用答答租车系统");
        System.out.println("你是否要租车:1是 2否");
        int peopleCapacity=0;
        int cargoCapacity=0;
        int totalRent=0;//总的租金
        Scanner scan=new Scanner(System.in);
        int input=scan.nextInt();//这两句是读取输入值
        if(input==1){
                System.out.println("你可租车的类型及其价格表:");
                System.out.print("序号\t\t汽车名称\t\t租金\t\t容量\t\t\n");
                int i=1;
                for(Car Cars:car){
                        if(Cars instanceof PassengerCar){
                            System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((PassengerCar)Cars).getPeopleCapacity()+"人\t\t");

}else{
                            System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((Truck)Cars).getCargoCapacity()+"吨\t\t");
                        }
                        ++i;
                }
                System.out.println("请输入你要租车的数量:");
                int count=scan.nextInt();
                for(int j=0;j<count;j++){
                    System.out.println("请输入您要选择的第"+(j+1)+"辆车的序号");
                    int chooseNum=scan.nextInt();
                    System.out.println("你选择的是第"+chooseNum+"号车型");
                    if(car[chooseNum-1] instanceof PassengerCar){
                            System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((PassengerCar)car[chooseNum-1]).getPeopleCapacity()+"人\t\t");
                            peopleCapacity+=((PassengerCar)car[chooseNum-1]).getPeopleCapacity();
                    }else{
                            System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((Truck)car[chooseNum-1]).getCargoCapacity()+"人\t\t");
                            cargoCapacity+=((Truck)car[chooseNum-1]).getCargoCapacity();
                    }
                    totalRent+=car[chooseNum-1].getRent();
                }
                System.out.println("请输入你租车的天数");
                int days=scan.nextInt();
                System.out.println("你租赁了"+count+"辆车");
                System.out.println("总载客量为"+peopleCapacity+"人");
                System.out.println("总载货量为"+cargoCapacity+"吨");
                System.out.println("总租金为"+totalRent*days+"元");
          }else{
            System.out.println("再见");  
          }
     }
}

结果:

欢迎使用答答租车系统
你是否要租车:1是 2否
1
你可租车的类型及其价格表:
序号        汽车名称        租金        容量        
 1        奥迪        500.0元/天    4人        
 2        马自达        400.0元/天    4人        
 3        金龙        800.0元/天    20吨        
 4        松花江        400.0元/天    4吨        
 5        依维柯        1000.0元/天    20吨        
请输入你要租车的数量:
3
请输入您要选择的第1辆车的序号
1
你选择的是第1号车型
奥迪        500.0元/天    4人        
请输入您要选择的第2辆车的序号
2
你选择的是第2号车型
马自达        400.0元/天    4人        
请输入您要选择的第3辆车的序号
3
你选择的是第3号车型
金龙        800.0元/天    20人        
请输入你租车的天数
3
你租赁了3辆车
总载客量为8人
总载货量为20吨
总租金为5100元

转载于:https://www.cnblogs.com/shamoguzhou/p/7028653.html

慕课网-哒哒租车系统相关推荐

  1. java租车_Java 哒哒租车系统(控制台)

    哒哒租车系统 Cars类为父类 重写Cars类toString方法 三种车型3个子类继承父类 Cars.java package com.xk; public class Cars { public ...

  2. java租车系统_Java 哒哒租车系统(控制台)

    哒哒租车系统 Cars类为父类 重写Cars类toString方法 三种车型3个子类继承父类 Cars.java package com.xk; public class Cars { public ...

  3. 二嗨租车系统java_java第二季。哒哒租车系统(参考的很多前辈们的代码!)

    //主程序 package project1; import java.util.Scanner; public class DaDaZuChe { public static void main(S ...

  4. 二嗨租车系统java_java第二季租车系统作业

    用到的知识点: 1.封装 2.继承 3.多态 4.对象数组 package com.imooc; public abstract class Car { private int orderNum;// ...

  5. 二嗨租车系统java_Java第二季租车系统

    欢迎使用哒哒租车系统: 您是否要租车:1是 0否 1 您可租的车辆类型及价目表: 序号 汽车名称 租金 空间 序号:1 奥迪A4 500元/天 载人:4人 序号:2 马自达6 400元/天 载人:4人 ...

  6. java 二嗨租车项目,Java小项目 -- 答答租车系统(已自测通过)

    /** * 汽车抽象类 * * @author Administrator * */ public abstract class Auto { private String name; private ...

  7. 慕课网-Java入门第二季实战练习-答答租车系统下载

    更具所学知识,编写一个控制台版的"答答租车系统" 功能: 1.展示所有可租车辆 2.选择车型.租车量 3.展示租车清单,包含:总金额.总载货量及其车型.总载人量及其车型 代码下载地 ...

  8. Java面向对像小项目 慕课网Java入门第二季滴滴租车系统

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  9. Java面向对象小项目 慕课网Java入门第二季答答租车系统

    一.项目背景 编写一个控制台程序,要求实现如下功能: 1.展示所有可租车辆 2.选择车型,租车量 3.显示租车清单,包括:总载货量,总载客量,总金额等: 二.车的类别 客车:只能载客 货车:只能载货 ...

  10. java简单租车系统 慕课手记_java小项目,租车系统

    这学期要学java,本以为暑假学windows程序设计的,没想到一些事情耽误了 ,只能回来再补了,因为学过c++,面向对象的三大特性什么的,c++比java难一点,所以学java感觉还比骄轻松,下面就 ...

最新文章

  1. 中国电子学会图形化四级编程题:程序优化
  2. 拥抱iPhone,拥抱软件开发的未来
  3. 巧用 GitHub 创建自己的私人 Maven 仓库,及一些开发Library的建议
  4. 【2018年11月21日】煤炭行业的估值高度排名
  5. 解决GitHub未配置SSH key提示错误信息
  6. Android 查看App冷启动时间/热启动时间/页面打开时间
  7. Failed to bind properties under mybatis-plus.configuration.result-maps[0]
  8. php小程序码生成并保存,小程序中如何生成小程序码
  9. 1-1Pytorch导学
  10. xshell删除文件夹命令_ssh远程连接GPU服务器进行深度学习以及常用ssh命令汇总
  11. 用Python3开发简单应用——兽人之袭
  12. 9.6 awk(上);9.7 awk(下)
  13. 怪物之心无法触发_《勇者斗恶龙 怪兽篇:旅团之心》怪物生方法及生规则研究 - 电玩巴士...
  14. 多媒体计算机的媒体信息包括文字,多媒体计算机中的媒体信息是指什么
  15. Java项目:医院挂号预约管理系统(java+SSM+HTML+JavaScript+jsp+mysql)
  16. 小伙子开超市,抓住“人性贪婪”,二个步骤过后,生意瞬间火爆!
  17. 技术的共通性—从姿态估计到自动驾驶
  18. 工控领域为什么需要OPC,OPC是什么?
  19. PDF和图片怎样合并在一起
  20. IDEA 新UI使用

热门文章

  1. 南阳oj 144 小柯的苦恼
  2. 将图片表情转化成emoji字体
  3. python用法查询软件下载_布同自制Python函数帮助查询小工具
  4. python下雨动画特效_pygame实现烟雨蒙蒙下彩虹雨
  5. 企业级客户端病毒清除工具 Damage Cleanup Service
  6. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。
  7. 【JS】用JS实现系统常见日周月时间按钮切换效果
  8. 初学者应从文件目录结构理解import的过程,并创建自已的代码库
  9. PIC16F877A与Proteus仿真-1位7段数码管驱动
  10. Js实战之方块跟随鼠标移动