package?com.zuoye;
import?java.util.Scanner;
public?class?Initial?{
private?static?final?String?NULL=null;
private?static?Scanner?input;????//用來(lái)輸入數(shù)據(jù)
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
for(;;){
//無(wú)條件執(zhí)行語(yǔ)句,直到執(zhí)行循環(huán)內(nèi)部的跳出語(yǔ)句
System.out.println("歡迎使用租車(chē)系統(tǒng)!");
System.out.println("您是否需要租車(chē)1:是???2:否");
input=new?Scanner(System.in);
int?i=input.nextInt(); //完成數(shù)據(jù)的輸入
if(i==1){
//顯示可以租車(chē)的信息
System.out.println("您可以租車(chē)的相關(guān)信息:");
Car[]?car={new?PersonCar(1,"奧迪A4",500,4),new?PersonCar(2,"馬自達(dá)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)};????//初始化對(duì)象,建立Car類(lèi)對(duì)象的數(shù)組car
//遍歷car類(lèi)對(duì)象輸出
System.out.println("序號(hào)"+"??名稱"+"??價(jià)格"+"??容量1");
for(Car?rendcar:car){
if(rendcar?instanceof?PersonCar){
//判斷是否有客車(chē)類(lèi)對(duì)象的元素,輸出相關(guān)的信息
System.out.println(rendcar.getCarNum()+"?"+rendcar.getCarName()+"?"+rendcar.getCarPrice()+"/天"+"?"+
((PersonCar)rendcar).getCarCapacity()+"人");????//注意這里必須進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,轉(zhuǎn)換為客車(chē)類(lèi),否則無(wú)法調(diào)用輸出容量的信息
}
if(rendcar?instanceof?Pickup){
//判斷是否有皮卡類(lèi)對(duì)象的元素,輸出相關(guān)的信息
System.out.println(rendcar.getCarNum()+"?"+rendcar.getCarName()+"?"+rendcar.getCarPrice()+"/天"+"?"+
((Pickup)rendcar).getCarCapacity()+"人"+"?"+((Pickup)rendcar).getCarryingCapacity()+"噸");
}
if(rendcar?instanceof?Truck){
//判斷是否有貨車(chē)類(lèi)對(duì)象的元素,輸出相關(guān)的信息
System.out.println(rendcar.getCarNum()+"?"+rendcar.getCarName()+"?"+rendcar.getCarPrice()+"/天"+"?"+
((Truck)rendcar).getCarryingCapactity());
}
//System.out.println(rendcar);???//直接輸出,輸出的是對(duì)象的哈希碼
}
System.out.println("請(qǐng)輸入您的租車(chē)數(shù)量!");
int?rendNum=input.nextInt();???//獲取租車(chē)數(shù)量
String[]?name=new?String[rendNum];????//建立數(shù)組,保存租車(chē)的名稱
String[]?name2=new?String[rendNum];
int?sumCapacity=0; //計(jì)算總的載人數(shù)
int?sumCCapacity=0;?????//計(jì)算中的載貨量
int?sumPrice=0;?????????//計(jì)算總的價(jià)格
int?a=0;
int?b=0;
for(int?i1=0;i1<rendNum;i1++){
//獲取顧客租車(chē)的相關(guān)信息
System.out.println("請(qǐng)輸入租借的第"+(i1+1)+"輛車(chē)的編號(hào)");
int?num=input.nextInt();
System.out.println("請(qǐng)輸入租借天數(shù)");
int?day=input.nextInt();
switch(num){
case?1:
sumPrice=sumPrice+car[0].getCarPrice()*day;????//計(jì)算租車(chē)費(fèi)用
sumCapacity=sumCapacity+((PersonCar)car[0]).getCarCapacity();???//計(jì)算租車(chē)的載人量
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();??????//計(jì)算租車(chē)的載貨量
}else{
System.out.println("數(shù)據(jù)出差錯(cuò)?。。?);
}
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;
}
//將選好的車(chē)分類(lèi)
if(car[num-1]?instanceof?PersonCar){
//判斷是否為客車(chē)
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){
//判斷是否為貨車(chē)
name2[b]=car[num-1].getCarName();
b++;
}
}
//輸出客戶選擇的車(chē)的相關(guān)信息;
System.out.println("您一共要租"+rendNum+"輛車(chē)!");
if(a!=0){
//通過(guò)a的大小來(lái)判斷客戶是否租借載人的車(chē)
System.out.println("載人的車(chē)有");
for(String?n1:name){
System.out.println(n1);
}
System.out.println("一共可以乘坐"+sumCapacity+"位乘客");
}else{
System.out.println("您沒(méi)有租借載人的車(chē)");
}
if(b==0){
System.out.println("您沒(méi)有租借載貨的車(chē)");
}else{
System.out.println("載貨的車(chē)有");
for(String?n2:name2){
System.out.println(n2);
}
System.out.println("一共可以運(yùn)輸"+sumCCapacity+"噸的貨物");
}
System.out.println("您一共需要支付"+sumPrice+"元");
}else?if(i==2){
System.out.println("歡迎下次光臨!");
break;
}else{
System.out.println("您的輸入有誤,系統(tǒng)自動(dòng)退出!");
break;
}
}
}
}package?com.zuoye;
public?class?Car?{
//創(chuàng)建汽車(chē)父類(lèi)
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?{
//客車(chē)類(lèi)
private?int?carCapacity;????//載人量
public?PersonCar(int?newCarNum,String?newCarName,int?newCarPrice,int?newCarCapacoty){
super(newCarNum,newCarName,newCarPrice);? //顯式調(diào)用父類(lèi)的構(gòu)造方法
this.setCarCapacity(newCarCapacoty);??????//初始化載貨量
}
public?int?getCarCapacity()?{
return?carCapacity;
}
public?void?setCarCapacity(int?carCapacity)?{
this.carCapacity?=?carCapacity;
}
}package com.zuoye;public class Pickup extends Car { //皮卡類(lèi) 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 { //貨車(chē)類(lèi) 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; }}
添加回答
舉報(bào)
0/150
提交
取消