Java入门第二季-练习:租车系统
2016-05-15 22:19
543 查看
该练习题为建立一个如下所示的租车系统
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/04/ef73ff0b76e3616ea30c0dae48772cb9)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/04/c8ea2b5d64aae745b9b0729517a8d755)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/04/fabcbb72fae333022832b0b779c353c2)
其中,车的类型有载人、载货和既可载人又可载货三种,那么可以先定义一个父类:车(Car),然后再分别定义三个子类:人车(RCar)、货车(HCar)以及人货车(RHCar)。
主函数:
咔咔租车,听起来就很爽
运行结果如下:
欢迎使用咔咔租车:
您是否要租车:1是 0否
1
您可租车的类型及其价目表:
序号 汽车名称 租金 容量
1 奥迪A4 500.0元/天 载人:4人
2 马自达6 400.0元/天 载人:4人
3 皮卡雪6 450.0元/天 载人:4人 载货:2吨
4 金龙 800.0元/天 载人:20人
5 松花江 400.0元/天 载货:4吨
6 依维柯 1000.0元/天 载货:20吨
请输入需要租车的数量:
4
请输入第1辆车的序号:
1
请输入第2辆车的序号:
3
请输入第3辆车的序号:
4
请输入第4辆车的序号:
6
请输入租车天数:
2
您的账单:
=====可载人的车有=====
奥迪A4
皮卡雪6
金龙
共载人:28人
=====可载货的车有=====
皮卡雪6
依维柯
共载货:22吨
------------
租车总价格为:5500.0元
其中,车的类型有载人、载货和既可载人又可载货三种,那么可以先定义一个父类:车(Car),然后再分别定义三个子类:人车(RCar)、货车(HCar)以及人货车(RHCar)。
package Rent; public class Car { int num;//序号 String name;//名称 double price;//价格 int volume;//载货量 int count;//载人量 }
package Rent; public class RCar extends Car{ public RCar(int num, String name, double price, int count){ this.num = num; this.name = name; this.price = price; this.count = count; } public void List(){ System.out.println(this.num+" "+this.name+" "+this.price+"元/天"+" "+"载人:"+this.count+"人"); } }
package Rent; public class HCar extends Car{ public HCar(int num, String name, double price, int volume){ this.num = num; this.name = name; this.price = price; this.volume = volume; } public void List(){ System.out.println(this.num+" "+this.name+" "+this.price+"元/天"+" "+"载货:"+this.volume+"吨"); } }
package Rent; public class RHCar extends Car{ public RHCar(int num, String name, double price, int count, int volume){ this.num = num; this.name = name; this.price = price; this.count = count; this.volume = volume; } public void List(){ System.out.println(this.num+" "+this.name+" "+this.price+"元/天"+" "+"载人:"+this.count+"人 载货:"+this.volume+"吨"); } }分别给子类添加输出的方法(“List”)
主函数:
咔咔租车,听起来就很爽
package Rent; import java.util.*; public class Rent { public static void main(String[] args){ System.out.println("欢迎使用咔咔租车:"+'\n'+"您是否要租车:1是 0否 "); Scanner input = new Scanner(System.in); int answer =input.nextInt(); if (answer==1){ System.out.println("您可租车的类型及其价目表:"); System.out.println("序号 汽车名称 租金 容量"); Car[] rentCar = {new RCar(1,"奥迪A4 ",500,4),new RCar(2,"马自达6 ",400,4),new RHCar(3, "皮卡雪6 ", 450, 4, 2),new RCar(4, "金龙 ", 800, 20),new HCar(5, "松花江 ", 400, 4),new HCar(6, "依维柯 ", 1000, 20) }; for(Car cars: rentCar){ if(cars instanceof RCar) (( 4000 RCar) cars).List(); if(cars instanceof HCar) ((HCar) cars).List(); if(cars instanceof RHCar) ((RHCar) cars).List(); } System.out.println("请输入需要租车的数量:"); int num = input.nextInt(); int[] rentnum = new int[6]; for(int i = 1; i <= num; i++){ System.out.println("请输入第"+i+"辆车的序号:"); rentnum[i-1] = input.nextInt(); } System.out.println("请输入租车天数:"); int day = input.nextInt(); double allprice = 0; for(int i = 1; i <= num; i++){ allprice += rentCar[rentnum[i-1]-1].price * day; } System.out.println("您的账单:"); System.out.println("=====可载人的车有====="); int allCount = 0, allVolume = 0; for(int i = 0; i < num; i++){ if(rentCar[rentnum[i]-1] instanceof RCar || rentCar[rentnum[i]-1] instanceof RHCar){ System.out.println(rentCar[rentnum[i]-1].name); allCount += rentCar[rentnum[i]-1].count; } } System.out.println("共载人:"+allCount+"人"); System.out.println("=====可载货的车有====="); for(int i=0;i<num;i++){ if(rentCar[rentnum[i]-1] instanceof HCar || rentCar[rentnum[i]-1] instanceof RHCar){ System.out.println(rentCar[rentnum[i]-1].name); allVolume += rentCar[rentnum[i]-1].volume; } } System.out.println("共载货:"+allVolume+"吨"); System.out.println("------------\n租车总价格为:"+allprice+"元"); } } }
运行结果如下:
欢迎使用咔咔租车:
您是否要租车:1是 0否
1
您可租车的类型及其价目表:
序号 汽车名称 租金 容量
1 奥迪A4 500.0元/天 载人:4人
2 马自达6 400.0元/天 载人:4人
3 皮卡雪6 450.0元/天 载人:4人 载货:2吨
4 金龙 800.0元/天 载人:20人
5 松花江 400.0元/天 载货:4吨
6 依维柯 1000.0元/天 载货:20吨
请输入需要租车的数量:
4
请输入第1辆车的序号:
1
请输入第2辆车的序号:
3
请输入第3辆车的序号:
4
请输入第4辆车的序号:
6
请输入租车天数:
2
您的账单:
=====可载人的车有=====
奥迪A4
皮卡雪6
金龙
共载人:28人
=====可载货的车有=====
皮卡雪6
依维柯
共载货:22吨
------------
租车总价格为:5500.0元
相关文章推荐
- Java-1021. 个位数统计 (15)
- SpringMVC拦截器实现登录认证
- springmvc之log4j
- 设计模式之单例模式
- java31java当中的异常(二)
- Spring lazy-init
- springmvc之配置
- JAVA第六次作业
- hdoj2023(java)求平均成绩(二维数组+一维数组+格式问题+行转化列)
- JSP--JavaBean
- struts2中struts.xml中的属性值含义
- 理解SpringAOP
- Java构造器小结
- Java使用SmartUploadServlet进行文件的上传与下载
- Java面向对象之继承
- PAT-模拟赛--Java-L1-7. 跟奥巴马一起画方块
- 从源码理解WeakHashMap.java
- Spring框架初探【3】
- Java并发-同步器CyclicBarrier,Exchanger,Phaser
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?