package com.zuoye;
import java.util.Scanner;
public class Initial {
private static final String NULL=null;
private static Scanner input; //用来输入数据
public static void main(String[] args) {
// TODO Auto-generated method stub
for(;;){
//无条件执行语句,直到执行循环内部的跳出语句
System.out.println("欢迎使用租车系统!");
System.out.println("您是否需要租车1:是 2:否");
input=new Scanner(System.in);
int i=input.nextInt(); //完成数据的输入
if(i==1){
//显示可以租车的信息
System.out.println("您可以租车的相关信息:");
Car[] car={new PersonCar(1,"奥迪A4",500,4),new PersonCar(2,"马自达6",400,4), new PersonCar(3," 金龙 ",800,20),
new Pickup(4,"皮卡雪6",450,4,2),new Truck(5,"松花江",400,4),
new Truck(6,"依维柯",1000,20)}; //初始化对象,建立Car类对象的数组car
//遍历car类对象输出
System.out.println("序号"+" 名称"+" 价格"+" 容量1");
for(Car rendcar:car){
if(rendcar instanceof PersonCar){
//判断是否有客车类对象的元素,输出相关的信息
System.out.println(rendcar.getCarNum()+" "+rendcar.getCarName()+" "+rendcar.getCarPrice()+"/天"+" "+
((PersonCar)rendcar).getCarCapacity()+"人"); //注意这里必须进行强制类型转换,转换为客车类,否则无法调用输出容量的信息
}
if(rendcar instanceof Pickup){
//判断是否有皮卡类对象的元素,输出相关的信息
System.out.println(rendcar.getCarNum()+" "+rendcar.getCarName()+" "+rendcar.getCarPrice()+"/天"+" "+
((Pickup)rendcar).getCarCapacity()+"人"+" "+((Pickup)rendcar).getCarryingCapacity()+"吨");
}
if(rendcar instanceof Truck){
//判断是否有货车类对象的元素,输出相关的信息
System.out.println(rendcar.getCarNum()+" "+rendcar.getCarName()+" "+rendcar.getCarPrice()+"/天"+" "+
((Truck)rendcar).getCarryingCapactity());
}
//System.out.println(rendcar); //直接输出,输出的是对象的哈希码
}
System.out.println("请输入您的租车数量!");
int rendNum=input.nextInt(); //获取租车数量
String[] name=new String[rendNum]; //建立数组,保存租车的名称
String[] name2=new String[rendNum];
int sumCapacity=0; //计算总的载人数
int sumCCapacity=0; //计算中的载货量
int sumPrice=0; //计算总的价格
int a=0;
int b=0;
for(int i1=0;i1<rendNum;i1++){
//获取顾客租车的相关信息
System.out.println("请输入租借的第"+(i1+1)+"辆车的编号");
int num=input.nextInt();
System.out.println("请输入租借天数");
int day=input.nextInt();
switch(num){
case 1:
sumPrice=sumPrice+car[0].getCarPrice()*day; //计算租车费用
sumCapacity=sumCapacity+((PersonCar)car[0]).getCarCapacity(); //计算租车的载人量
case 2:
sumPrice=sumPrice+car[1].getCarPrice()*day;
sumCapacity=sumCapacity+((PersonCar)car[1]).getCarCapacity();
case 3:
sumPrice=sumPrice+car[2].getCarPrice()*day;
sumCapacity=sumCapacity+((PersonCar)car[2]).getCarCapacity();
case 4:
sumPrice=sumPrice+car[3].getCarPrice()*day;
if(car[3] instanceof Pickup){
sumCapacity=sumCapacity+((Pickup)car[3]).getCarCapacity();
sumCCapacity=sumCCapacity+((Pickup)car[3]).getCarryingCapacity(); //计算租车的载货量
}else{
System.out.println("数据出差错!!!");
}
case 5:
sumPrice=sumPrice+car[4].getCarPrice()*day;
sumCCapacity=sumCapacity+((Truck)car[4]).getCarryingCapactity();
case 6:
sumPrice=sumPrice+car[5].getCarPrice()*day;
sumCCapacity=sumCapacity+((Truck)car[5]).getCarryingCapactity();
break;
}
//将选好的车分类
if(car[num-1] instanceof PersonCar){
//判断是否为客车
name[a]=car[num-1].getCarName();
a++;
}else if(car[num-1] instanceof Pickup){
//判断是否为皮卡
name[a]=car[num-1].getCarName();
name2[b]=car[num-1].getCarName();
a++;
b++;
}else if(car[num-1] instanceof Truck){
//判断是否为货车
name2[b]=car[num-1].getCarName();
b++;
}
}
//输出客户选择的车的相关信息;
System.out.println("您一共要租"+rendNum+"辆车!");
if(a!=0){
//通过a的大小来判断客户是否租借载人的车
System.out.println("载人的车有");
for(String n1:name){
System.out.println(n1);
}
System.out.println("一共可以乘坐"+sumCapacity+"位乘客");
}else{
System.out.println("您没有租借载人的车");
}
if(b==0){
System.out.println("您没有租借载货的车");
}else{
System.out.println("载货的车有");
for(String n2:name2){
System.out.println(n2);
}
System.out.println("一共可以运输"+sumCCapacity+"吨的货物");
}
System.out.println("您一共需要支付"+sumPrice+"元");
}else if(i==2){
System.out.println("欢迎下次光临!");
break;
}else{
System.out.println("您的输入有误,系统自动退出!");
break;
}
}
}
}package com.zuoye;
public class Car {
//创建汽车父类
private int carNum;
private String carName;
private int carPrice;
public Car(int newCarNum,String newCarName,int newCarPrice){
this.setCarNum(newCarNum);
this.setCarName(newCarName);
this.setCarPrice(newCarPrice);
}
public int getCarNum() {
return carNum;
}
public void setCarNum(int carNum) {
this.carNum = carNum;
}
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public int getCarPrice() {
return carPrice;
}
public void setCarPrice(int carPrice) {
this.carPrice = carPrice;
}
}package com.zuoye;
public class PersonCar extends Car {
//客车类
private int carCapacity; //载人量
public PersonCar(int newCarNum,String newCarName,int newCarPrice,int newCarCapacoty){
super(newCarNum,newCarName,newCarPrice); //显式调用父类的构造方法
this.setCarCapacity(newCarCapacoty); //初始化载货量
}
public int getCarCapacity() {
return carCapacity;
}
public void setCarCapacity(int carCapacity) {
this.carCapacity = carCapacity;
}
}package com.zuoye;public class Pickup extends Car { //皮卡类 private int carCapacity; //载人量 private int carryingCapacity; //载货量 public Pickup(int newCarNum,String newCarName,int newCarPrice,int newCarCapacity,int newCarryingCapacity){ super(newCarNum, newCarName, newCarPrice); this.setCarCapacity(newCarCapacity); //初始化载人量 this.setCarryingCapacity(newCarryingCapacity); //初始化载货量 } public int getCarCapacity() { return carCapacity; } public void setCarCapacity(int carCapacity) { this.carCapacity = carCapacity; } public int getCarryingCapacity() { return carryingCapacity; } public void setCarryingCapacity(int carryingCapacity) { this.carryingCapacity = carryingCapacity; }}package com.zuoye;public class Truck extends Car { //货车类 private int carryingCapactity; public Truck(int newCarNum,String newCarName,int newCarPrice,int newCarryingCapacity){ super(newCarNum, newCarName, newCarPrice); this.setCarryingCapactity(newCarryingCapacity); } public int getCarryingCapactity() { return carryingCapactity; } public void setCarryingCapactity(int carryingCapactity) { this.carryingCapactity = carryingCapactity; }}
添加回答
举报
0/150
提交
取消