import?java.util.ArrayList;
import?java.util.List;
import?java.util.Scanner;
public?class?Test?{
????public?static?void?main(String[]?args)?{
????????System.out.println("~~~~~~~歡迎使用噠噠租車(chē)~~~~~~~~?");
????????System.out.println("您是否要租車(chē):1.是?>>?點(diǎn)擊其他鍵退出");
????????Test?test?=?new?Test();
????????while?(test.test1())?{
????????????System.out.println(">>>您可選擇車(chē)的類(lèi)型及其價(jià)目表:");
????????????System.out.println("-------------------------------------------");
????????????Car[]?cars?=?{new?PassengerCar(1,?"奧迪A8L",?600,?4),
????????????????????new?PassengerCar(2,?"奔馳G",?800,?4),
????????????????????new?Pickup(3,?"福特猛禽",?1300,?4,?2),
????????????????????new?PassengerCar(4,?"寶馬M5",?700,?20),
????????????????????new?Truck(5,?"斯柯達(dá)",?500,?4),
????????????????????new?Truck(6,?"依維柯",?1000,?20)
????????????};
????????????System.out.println("序號(hào)"?+?"??"?+?"\t"?+?"車(chē)型"?+?"?????"?+?"\t"?+?"租金"?+?"??????"?+?"\t"?+?"容量");
????????????for?(Car?car?:?cars)?{
????????????????//判斷左邊的類(lèi)是否是右邊的實(shí)例類(lèi)
????????????????if?(car.getClass().equals(PassengerCar.class))?{
????????????????????//如果是客車(chē)的實(shí)例類(lèi)
????????????????????System.out.println(car.getId()?+?"\t"?+?"\t"?+?car.getName()?+?"\t"?+?"\t"?+?car.getPrice()?+?"/天"?+?"\t"
????????????????????????????+?"\t"?+?"載客"?+?((PassengerCar)?car).getCapacity()?+?"/人");
????????????????}
????????????????if?(car.getClass().equals(Truck.class))?{
????????????????????System.out.println(car.getId()?+?"\t"?+?"\t"?+?car.getName()?+?"\t"?+?"\t"?+?car.getPrice()?+?"/天"?+?"\t"
????????????????????????????+?"\t"?+?"載貨"?+?((Truck)?car).getCargoVolume()?+?"/噸");
????????????????}
????????????????if?(car.getClass().equals(Pickup.class))?{
????????????????????System.out.println(car.getId()?+?"\t"?+?"\t"?+?car.getName()?+?"\t"?+?"\t"?+?car.getPrice()?+?"/天"?+?"\t"
????????????????????????????+?"\t"?+?"載客"?+?((Pickup)?car).getCapacity()?+?"/人"?+?"?"?+?"載貨"?+?((Pickup)?car).getCargoVolume()?+?"/噸");
????????????????}
????????????}
????????????System.out.println("-------------------------------------------");
????????????System.out.println("-->請(qǐng)輸入你要租的汽車(chē)的數(shù)量:");
????????????Scanner?z?=?new?Scanner(System.in);
????????????int?carNum?=?z.nextInt();//用于接收租車(chē)的數(shù)量
????????????List<Car>?carList?=?new?ArrayList<Car>();
????????????int?add?=?0;
????????????List<Car>?carListPassenger?=?new?ArrayList<>();?//用來(lái)儲(chǔ)存可載人的車(chē)輛
????????????List<Car>?carListTrunk?=?new?ArrayList<>();??//用來(lái)儲(chǔ)存可載貨的車(chē)輛
????????????int?passengerCar?=?0;?//載人數(shù)
????????????int?carCargo?=?0;?//載貨量
????????????int?carPrice?=?0;?//總資金
????????????for?(int?i?=?0;?i?<?carNum;?i++)?{
????????????????System.out.println(">>請(qǐng)輸入第"?+?(i?+?1)?+?"輛車(chē)的序號(hào):");
????????????????int?num?=?z.nextInt();?//用于接收輸入的汽車(chē)的序號(hào)
????????????????carList.add(cars[num?-?1]);
????????????????System.out.println("----成功添加:"?+?carList.get(add).getName());
????????????????if?(cars[num?-?1].getClass().equals(PassengerCar.class))?{
????????????????????passengerCar?+=?((PassengerCar)?carList.get(add)).getCapacity();
????????????????????carPrice?+=?((PassengerCar)?carList.get(add)).getPrice();
????????????????????carListPassenger.add(carList.get(add));
????????????????}
????????????????if?(cars[num?-?1].getClass().equals(Pickup.class))?{
????????????????????passengerCar?+=?((Pickup)?carList.get(add)).getCapacity();
????????????????????carCargo?+=?((Pickup)?carList.get(add)).getCargoVolume();
????????????????????carPrice?+=?((Pickup)?carList.get(add)).getPrice();
????????????????????carListPassenger.add(carList.get(add));
????????????????????carListTrunk.add(carList.get(add));
????????????????}
????????????????if?(cars[num?-?1].getClass().equals(Truck.class))?{
????????????????????carCargo?+=?((Truck)?carList.get(add)).getCargoVolume();
????????????????????carPrice?+=?((Truck)?carList.get(add)).getPrice();
????????????????????carListTrunk.add(carList.get(add));
????????????????}
????????????????add++;
????????????}
????????????System.out.println(">>請(qǐng)輸入租車(chē)的天數(shù):");
????????????Scanner?g?=?new?Scanner(System.in);
????????????int?carDay?=?g.nextInt();
????????????carPrice?=?carPrice?*?carDay;
????????????System.out.println("------------租車(chē)選車(chē)完成------------"?+?"\n"?+?"下面開(kāi)始統(tǒng)計(jì)數(shù)據(jù)..........");
????????????//租車(chē)完成,開(kāi)始統(tǒng)計(jì)數(shù)據(jù)并輸出
????????????System.out.print("您租的車(chē)共有"?+?carNum?+?"輛:"?+?"?");
????????????for?(Car?car?:?carList)?{
????????????????System.out.print(car.getName()?+?"?");
????????????}
????????????System.out.println();
????????????System.out.println("共租用:"?+?carDay?+?"?天");
????????????System.out.println("可載人:"?+?passengerCar?+?"?人");
????????????System.out.println("可載貨:"?+?carCargo?+?"?噸");
????????????System.out.println("需要付款:"?+?carPrice?+?"?元");
????????????System.out.println("->請(qǐng)輸入付款金額:");
????????????System.out.println("------------");
????????????Scanner?x?=?new?Scanner(System.in);
????????????while?(carPrice?!=?x.nextInt())
????????????????System.out.println("------------"?+?"\n"?+?"輸入錯(cuò)誤,請(qǐng)重新輸入金額!");
????????????System.out.println("------------");
????????????System.out.println("->請(qǐng)輸入付款密碼:");
????????????Scanner?y?=?new?Scanner(System.in);
????????????while?(y.nextInt()?!=?123456)
????????????????System.out.println("------------"?+?"\n"?+?"密碼錯(cuò)誤,請(qǐng)重新輸入!");
????????????System.out.println("------------");
????????????System.out.println("??????????????交易成功!");
????????????System.out.println();
????????????System.out.println("------------感謝您的使用--------------");
????????????System.out.println("………………繼續(xù)租車(chē)請(qǐng)按1,退出請(qǐng)按其他鍵………………");
????????}
????????System.out.println("***歡迎您再次使用,再見(jiàn)!***");
????}
????//?捕獲輸入?yún)?shù)不正確異常
????public?boolean?test1()?{
????????try?{
????????????Scanner?z?=?new?Scanner(System.in);
????????????if?(z.nextInt()?==?1)?{
????????????????return?true;
????????????}?else?{
????????????????return?false;
????????????}
????????}?catch?(Exception?e1)?{
????????????return?false;
????????}
????}
}
2018-08-26
這一段代碼看不太懂,可以解釋一下么?? ? ??
2018-07-28
我照著你的在eclipse里面試了一下,
for
?(Car?car?:?cars)
這句報(bào)錯(cuò)了,然而剛學(xué)java的我,不會(huì)改,網(wǎng)上查了一些資料,但講的和我想知道的不一樣
2018-05-27
car.getClass().equals(PassengerCar.
class
)?
這句可以用 car instanceof PassengerCar 代替嗎
2018-05-11
說(shuō)實(shí)話,只學(xué)了入門(mén)第一季和入門(mén)第二季的話很多看不明白,單單是cars數(shù)組那塊還可以這樣創(chuàng)建,cars數(shù)組類(lèi)型可以是Car,數(shù)組里面還可以有各子類(lèi)的構(gòu)造方法
2018-04-12
2018-04-12
2018-04-12
2018-04-12
2018-04-12
2018-04-12