package com.zmx;
import java.util.ArrayList;
import java.util.Scanner;
public class Initial {
public static void main(String[] args) {
//各种车子都是继承与Car这个父类,多态原理父类引用指向子类对象;将子类对象构建成一个数组;
Car[] cars={new PickUp("皮卡6",450,4,2),
new Bus("金龙",500,40,0),
new PersonCar("奥迪A4",600,4,0),
new PersonCar("大众",550,4,0),
new PersonCar("雪佛兰",550,4,0),
new Trunk("解放",1000,0,20)};
Scanner input = new Scanner(System.in);
System.out.println("欢迎使用哒哒租车系统:");
System.out.println("你是否需要租车:1是 0否");
int f=input.nextInt();
if(f!=1){
System.exit(0);
}else{
System.out.println("您可以租车的类型及其价目表:");
System.out.println("序号 汽车名称 租金 容量");
for(int i=0;i<cars.length;i++){
System.out.println((i+1)+"\t"+cars[i].name+"\t\t"+cars[i].pay+"元/天"+"\t\t"+
"载人:"+cars[i].personNum+",载货:"+cars[i].boatload+"吨");
}
System.out.println("请输入您租车的数量:");
int carNum=input.nextInt();
//在选择车型的时候加入计算载人数和载重数;
int sumpay=0;
int sumpersons=0;
int sumboatload=0;
//因为要输出载人车型和载货车型,所以构造一个数组分别存储载人和载货车型;
//使用ArrayList的话可以解决输出为null的情况;
ArrayList<String> loadPerson = new ArrayList<String>();
ArrayList<String> loadBoat = new ArrayList<String>();
for(int j=1;j<=carNum;j++){
System.out.println("请输入第"+j+"辆车的序号");
int g=input.nextInt();
switch(g){
case 1:
loadPerson.add(cars[g-1].name);
loadBoat.add(cars[g-1].name);
sumpay+=cars[g-1].pay;
sumpersons+=cars[g-1].personNum;
sumboatload+=cars[g-1].boatload;
break;
case 2:
loadPerson.add(cars[g-1].name);
sumpay+=cars[g-1].pay;
sumpersons+=cars[g-1].personNum;
sumboatload+=cars[g-1].boatload;
break;
case 3:
loadPerson.add(cars[g-1].name);
sumpay+=cars[g-1].pay;
sumpersons+=cars[g-1].personNum;
sumboatload+=cars[g-1].boatload;
break;
case 4:
loadPerson.add(cars[g-1].name);
sumpay+=cars[g-1].pay;
sumpersons+=cars[g-1].personNum;
sumboatload+=cars[g-1].boatload;
break;
case 5:
loadPerson.add(cars[g-1].name);
sumpay+=cars[g-1].pay;
sumpersons+=cars[g-1].personNum;
sumboatload+=cars[g-1].boatload;
break;
case 6:
loadBoat.add(cars[g-1].name);
sumpay+=cars[g-1].pay;
sumpersons+=cars[g-1].personNum;
sumboatload+=cars[g-1].boatload;
break;
}
}
System.out.println("请输入租借天数:");
int date=input.nextInt();
System.out.println("****您的账单:");
System.out.println("****载人的车有:");
System.out.println(loadPerson+"\t"+"共载人:"+sumpersons);
System.out.println("****载货的车有:");
System.out.println(loadBoat+"\t"+"共载货:"+sumboatload+"吨");
System.out.println("****租车总价:"+date*sumpay+"元");
}
}
}
使用ArrayList构造数组,可以避免直接构造String[]是输出出现null的情况!
热门评论
欢迎使用哒哒租车系统:
你是否需要租车:1是 0否
1
您可以租车的类型及其价目表:
序号 汽车名称 租金 容量
1 皮卡6 450元/天 载人:4,载货:2吨
2 金龙 500元/天 载人:40,载货:0吨
3 奥迪A4 600元/天 载人:4,载货:0吨
4 大众 550元/天 载人:4,载货:0吨
5 雪佛兰 550元/天 载人:4,载货:0吨
6 解放 1000元/天 载人:0,载货:20吨
请输入您租车的数量:
4
请输入第1辆车的序号
1
请输入第2辆车的序号
2
请输入第3辆车的序号
3
请输入第4辆车的序号
4
请输入租借天数:
3
****您的账单:
****载人的车有:
[皮卡6, 金龙, 奥迪A4, 大众] 共载人:52
****载货的车有:
[皮卡6] 共载货:2吨
****租车总价:6300元
这个是运行后的结果;
欢迎使用哒哒租车系统:
你是否需要租车:1是 0否
1
您可以租车的类型及其价目表:
序号 汽车名称 租金 容量
1 皮卡6 450元/天 载人:4,载货:2吨
2 金龙 500元/天 载人:40,载货:0吨
3 奥迪A4 600元/天 载人:4,载货:0吨
4 大众 550元/天 载人:4,载货:0吨
5 雪佛兰 550元/天 载人:4,载货:0吨
6 解放 1000元/天 载人:0,载货:20吨
请输入您租车的数量:
4
请输入第1辆车的序号
1
请输入第2辆车的序号
2
请输入第3辆车的序号
3
请输入第4辆车的序号
4
请输入租借天数:
3
****您的账单:
****载人的车有:
[皮卡6, 金龙, 奥迪A4, 大众] 共载人:52
****载货的车有:
[皮卡6] 共载货:2吨
****租车总价:6300元
这个是运行后的结果;