package?com.imooc;
import?java.util.Arrays;
import?java.util.Scanner;
public?class?RentSystem?{
??//創(chuàng)建可租車輛清單
??static?final?Car[]?cars=?{
?????new?Sedan("奧迪A4",500,4),
?????new?Sedan("馬自達(dá)6",400,4),
?????new?PickUp("皮卡雪6",450,4,2),
?????new?Coach("金龍",800,20),
?????new?Truck("松花江",400,4),
?????new?Truck("依維柯",1000,20)
?????};
?
??static?Scanner?input=new?Scanner(System.in);
?
??public?static?void?main(String[]?args)?{
??//?TODO?Auto-generated?method?stub
????System.out.println("歡迎使用答答租車系統(tǒng)");
????isNeeded();?//判斷是否需要租車
????displayList();?//顯示可租車清單
????int?num=rentCarNum();?//獲得租車數(shù)量
????int[]?nums=getCarList(num);?//獲得租車型號(hào)
????System.out.println(Arrays.toString(nums));??//驗(yàn)證租車型號(hào)
????int?days=getRentDays();?//獲得租車天數(shù)
????payCheck(nums,days);
????}
??
??private?static?void?isNeeded()?{
????System.out.println("您是否要租車:?1是?0否");
????int?rentOrNot=2;
????while?((rentOrNot!=0)&&(rentOrNot!=1))?{
??????rentOrNot=input.nextInt();
??????if?(rentOrNot==0)?{
????????System.out.println("感謝使用,再見");
????????}else?if?(rentOrNot!=1)?{
??????????System.out.println("輸入有誤,請(qǐng)重新輸入");
??????????}else?if?(rentOrNot==1)?{
????????????break;
????????????}
?????????}
??????}
????
??private?static?void?displayList()?{
????System.out.println("您可租車的型號(hào)和價(jià)目表:");
????for?(int?i=0;i<cars.length;i++)?{
??????if?(cars[i]?instanceof?Sedan)?{
????????Sedan?car=(Sedan)?cars[i];
????????System.out.println((i+1)?+"??"?+?car.name?+?"??"?+?car.rent?+"元/天???"?+"載"+car.seat+"人");
????????}else?if?(cars[i]?instanceof?Truck)?{
??????????Truck?car=(Truck)cars[i];
??????????System.out.println((i+1)?+"??"?+?car.name?+?"??"?+?car.rent?+"元/天???"?+"載"+car.cargo+"噸貨");
??????????}else?if?(cars[i]?instanceof?PickUp)?{
????????????PickUp?car=(PickUp)cars[i];
????????????System.out.println((i+1)?+"??"?+?car.name?+?"??"?+?car.rent?+"元/天???"?+"載"+car.cargo+"噸貨"+car.seat+"人");
????????????}else?if?(cars[i]?instanceof?Coach)?{ Coach?car=(Coach)?cars[i];
??????????????System.out.println((i+1)?+"??"?+?car.name?+?"??"?+?car.rent?+"元/天???"?+"載"+car.seat+"人");
??????????????}
??????????}
???????}
?????
??private?static?int?rentCarNum()?{
????System.out.println("請(qǐng)輸入您要租車的數(shù)量");
????int?rentCarNum=input.nextInt();
????return?rentCarNum;
????}
??
??private?static?int?getRentDays()?{
????System.out.println("請(qǐng)輸入您要租車的天數(shù)");
????int?rentDays=input.nextInt();
????return?rentDays;
????}
??
??private?static?int[]?getCarList(int?num)?{
????int[]?carList=new?int[num];
????int?i=0;
????while?(i<num)?{
??????System.out.println("請(qǐng)輸入第"+(i+1)+"輛車的型號(hào)");
??????int?model=input.nextInt();
??????if((model>cars.length)||(model<=0))?{
????????System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入");
????????}else?{
??????????carList[i]=model;
??????????i++;
????????}
?????}
??????return?carList;
???}
???
??private?static?void?payCheck(int[]?nums,int?days)?{
????int?sumRent=0;
????int?sumSeat=0;
????int?sumCargo=0;
????System.out.println("您選中了以下車輛:");
????for?(int?i=0;i<nums.length;i++)?{
??????int?a=nums[i]-1;
??????if?(cars[a]?instanceof?Sedan)?{
????????Sedan?rentedCar=(Sedan)?cars[a];
????????sumRent=sumRent+rentedCar.rent;
????????sumSeat=sumSeat+rentedCar.seat;
????????System.out.print(rentedCar.name+"\t");
????????}else?if?(cars[a]?instanceof?Truck)?{
??????????Truck?rentedCar=(Truck)cars[a];
??????????sumRent=sumRent+rentedCar.rent;
??????????sumCargo=sumCargo+rentedCar.cargo;
??????????System.out.print(rentedCar.name+"\t");
??????????}else?if?(cars[a]?instanceof?PickUp)?{
????????????PickUp?rentedCar=(PickUp)cars[a];
????????????sumRent=sumRent+rentedCar.rent;
????????????sumCargo=sumCargo+rentedCar.cargo;
????????????System.out.print(rentedCar.name+"\t");
????????????sumSeat=sumSeat+rentedCar.seat;
????????????}else?if?(cars[a]?instanceof?Coach)?{
??????????????Coach?rentedCar=(Coach)cars[a];
??????????????sumRent=sumRent+rentedCar.rent;
??????????????sumSeat=sumSeat+rentedCar.seat;
??????????????System.out.print(rentedCar.name+"\t");
??????????????}
????????????}
????????????System.out.println("\n總金額:"+sumRent*days+"元");
????????????System.out.println("總載人數(shù):"+sumSeat+"人");
????????????System.out.println("總載貨量:"+sumCargo+"噸");
??????????}
????????}
2020-02-26
可以哦