/*************************************************************************/
package?嗒嗒租車系統(tǒng);
import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.Scanner;
class?CAR?//小汽車,只可以多載人
{
???private?String?Carname;
???private?int?Price;
???private?int?Busload;
???public?CAR(String?carname,?int?price,?int?busload)?{
???????super();
???????Carname?=?carname;
???????Price?=?price;
???????Busload?=?busload;
???}
???public?int?getBusload()?{
???????return?Busload;
???}
???public?void?setBusload(int?busload)?{
???????Busload?=?busload;
???}
???public?String?getCarname()?{
???????return?Carname;
???}
???public?void?setCarname(String?carname)?{
???????Carname?=?carname;
???}
???public?int?getPrice()?{
???????return?Price;
???}
???public?void?setPrice(int?price)?{
???????Price?=?price;
???}
????
}
class?Lorry?//卡車只可以多載貨
{
???private?String?name;
???private?int?Price;
???private?int?Boatload;
????
???public?Lorry(String?name,?int?price,?int?boatload)?{
???????super();
???????this.name?=?name;
???????Price?=?price;
???????Boatload?=?boatload;
???}
???public?String?getName()?{
???????return?name;
???}
???public?void?setName(String?name)?{
???????this.name?=?name;
???}
???public?int?getPrice()?{
???????return?Price;
???}
???public?void?setPrice(int?price)?{
???????Price?=?price;
???}
???public?int?getBoatload()?{
???????return?Boatload;
???}
???public?void?setBoatload(int?boatload)?{
???????Boatload?=?boatload;
???}
????
}
class?Pickup?//皮卡車,又可以載貨又可以多載人
{
???private?String?name;
???private?int?Price;
???private?int?Busload;
???private?int?Boatload;
???public?Pickup(String?name,?int?price,?int?busload,?int?boatload)?{
???????super();
???????this.name?=?name;
???????Price?=?price;
???????Busload?=?busload;
???????Boatload?=?boatload;
???}
???public?String?getName()?{
???????return?name;
???}
???public?void?setName(String?name)?{
???????this.name?=?name;
???}
???public?int?getPrice()?{
???????return?Price;
???}
???public?void?setPrice(int?price)?{
???????Price?=?price;
???}
???public?int?getBusload()?{
???????return?Busload;
???}
???public?void?setBusload(int?busload)?{
???????Busload?=?busload;
???}
???public?int?getBoatload()?{
???????return?Boatload;
???}
???public?void?setBoatload(int?boatload)?{
???????Boatload?=?boatload;
???}
????
}
public?class?DADAZUZUCHE?
{
???public?static?void?main(String[]?args)?
???{
???????System.out.println("歡迎使用租車系統(tǒng):");
???????Scanner?input?=?new?Scanner(System.in);
???????System.out.println("您是否要租車?1/0(是/不是)");
???????try
???????{
???????????int?select?=?input.nextInt();
???????????if(select==1)
???????????{
???????????????System.out.println("****歡迎進入租車系統(tǒng)****");
???????????????System.out.println("下面是您可以租車的類型和價目表");?????????
???????????????CarType();
???????????????Zuchenumber();
???????????}
???????????else
???????????????System.out.println("歡迎下次光臨!正在退出系統(tǒng)....");
???????????????System.exit(5);
???????????input.close();
???????}
???????catch(RuntimeException?e)
???????{
???????????throw?new?RuntimeException("輸入的數(shù)據(jù)?類型不正確!");
???????}
????
???}
???public?static?void?Zuchenumber()
???{
???????System.out.println();
???????System.out.println("請輸入您要租車的數(shù)量:");
???????Scanner?input?=?new?Scanner(System.in);
???????int?num?=?input.nextInt();
???????zucheType(num);
???????System.out.println();
???????input.close();
???}
???public?static?void?zucheType(int?num)
???{
???????ArrayList<Object>?al?=?new?ArrayList<Object>();
???????Scanner?input?=?new?Scanner(System.in);
???????for(int?i=0;i<num;i++)
???????{
???????????System.out.println("請輸入你要租的第"+(i+1)+"車的序號:");
???????????int?number?=?input.nextInt();
???????????al.add(selectCar(number));
???????}
???????Arrays.asList(al);
???????ZuCheList(al);
???????input.close();
???}
???private?static?void?ZuCheList(ArrayList<Object>?al)
???{
???????System.out.println("請輸入要租車的天數(shù)");
???????Scanner?input?=?new?Scanner(System.in);
???????int?day?=?input.nextInt();
???????System.out.println();
???????System.out.println("租車清單為:");
???????System.out.println();
???????System.out.println("\t****可以載人的車有****");
???????int?CARload?=?0;
???????int?Pickupload?=?0;
???????int?ALLprice=0;
???????for(int?i=0;i<al.size();i++)
???????{
???????????if(al.get(i)instanceof?CAR)
???????????{
???????????????CAR?a?=?(CAR)?al.get(i);
???????????????System.out.print(a.getCarname()+"?");
???????????????CARload+=a.getBusload();
???????????????ALLprice+=a.getPrice();
???????????}
???????????if(al.get(i)instanceof?Pickup)
???????????{
???????????????Pickup?c?=?(Pickup)?al.get(i);
???????????????System.out.print(c.getName()+"?");
???????????????Pickupload+=c.getBusload();
???????????????ALLprice+=c.getPrice();
???????????}
???????}
???????System.out.println("總載人數(shù):"+(CARload+Pickupload)+"人");
???????System.out.println();
???????System.out.println();
???????System.out.println("****可以載貨的車有****");
???????int?LorryBoatload=0;
???????int?PKBoatload=0;
???????for(int?i=0;i<al.size();i++)
???????{
???????????if(al.get(i)instanceof?Lorry)
???????????{
???????????????Lorry?b?=??(Lorry)?al.get(i);
???????????????System.out.print(b.getName()+"?");
???????????????LorryBoatload+=b.getBoatload();
???????????????ALLprice+=b.getPrice();
???????????}
???????????if(al.get(i)instanceof?Pickup)
???????????{
???????????????Pickup?c?=?(Pickup)?al.get(i);
???????????????System.out.print(c.getName()+"?");
???????????????PKBoatload+=c.getBoatload();
???????????}
????????????
???????}
???????System.out.println("總載貨量:"+(LorryBoatload+PKBoatload)+"噸");
???????System.out.println();
???????System.out.println("****租車總價格****"+(ALLprice*day)+"元");
???????input.close();
???}
???public?static?Object?selectCar(int?number)?
???{
???????switch(number)
???????{
???????case?1:return?new?CAR("奧迪A4",500,4);?
???????case?2:return?new?CAR("馬自達6",400,4);?
???????case?3:return?new?Pickup("皮卡車",450,4,20);?
???????case?4:return?new?CAR("蘇州金龍",800,20);?
???????case?5:return?new?Lorry("躍進",400,4);
???????case?6:return?new?Lorry("依維柯",1000,20);
???????default:System.out.println("您輸入的車號不存在?。?);
???????}
???????return?null;
???}
???public?static?void?CarType()
???{
???????System.out.println("序號\t\t汽車名稱\t\t租金\t\t容量:");
???????System.out.println();
???????System.out.println("1\t\t奧迪A4\t\t500元/天\t\t載人:4人");
???????System.out.println();
???????System.out.println("2\t\t馬自達6\t\t400元/天\t\t載人:4人");
???????System.out.println();
???????System.out.println("3\t\t皮卡車\t\t450元/天\t\t載人:4人,載貨:20噸");
???????System.out.println();
???????System.out.println("4\t\t蘇州金龍\t\t800元/天\t\t載人:20人");
???????System.out.println();
???????System.out.println("5\t\t躍進\t\t400元/天\t\t載貨:4噸");
???????System.out.println();
???????System.out.println("6\t\t依維柯\t\t1000元/天\t載貨:20噸");
???}
}
2016-10-13
這個代碼很棒,非常感謝
2016-03-28
可否加注釋?
2015-12-18
大神啊,表示看不懂