一、项目背景
编写一个控制台程序,要求实现如下功能:
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资源共享群