package?com.DADAzuche;
import?java.util.ArrayList;
import?java.util.Scanner;
public?class?DADArentcar
{
public?static?void?main(String[]?args)
{
Car[]?car?={new?Normalcar(1,"奧迪A4",500,4),new?Normalcar(2,"馬自達6",400,4)
,new?Pickup(3,"皮卡",450,4,2),new?Normalcar(4,"蘇州金龍",800,50)
,new?Lorry(5,"躍進",400,4),new?Lorry(6,"依維柯",999,20)};
System.out.println("\t****歡迎您使用嗒嗒租車系統****");
System.out.println();
System.out.println("1.進入系統,2.退出系統");
Scanner?in?=?new?Scanner(System.in);
int?str?=?in.nextInt();
if(str==1)
{
System.out.println("\t****歡迎您進入嗒嗒租車系統****");
System.out.println();
System.out.println("租車信息列表如下:");
System.out.println("序號\t\t汽車名稱\t\t租金\t\t容量:");
for(int?i?=?0;i<car.length;i++)
{
car[i].show();
}
System.out.println();
System.out.println("請輸入你要租的汽車數量:");
int?number?=?in.nextInt();
System.out.println();
System.out.println("請輸入你要租車的序號:");
System.out.println();
ArrayList<Car>?al?=?new?ArrayList<Car>();
for(int?i?=?0?;i<number;i++)
{
System.out.println("請輸入第"+(i+1)+"輛車的序號");
int?num?=?in.nextInt();
for(int?x=0;x<car.length;x++)
{
if(num==car[x].getID())
al.add(car[x]);
}
}
System.out.println("請輸入您租車的天數:");
int?Rentday?=?in.nextInt();
System.out.println();
System.out.println("租車清單如下,請認真核對:");
System.out.println();
System.out.println("可載人的車:");
int?Allprice?=?0;
int?ALLBusload?=?0;
int?ALLBoatload?=?0;
for(int?i=0;i<al.size();i++)
{
if(al.get(i)instanceof?Normalcar)
{
System.out.print(al.get(i).getCarname()+"?");
Allprice+=al.get(i).getPrice();
ALLBusload+=((Normalcar)?al.get(i)).getBusload();
}
else?if(al.get(i)instanceof?Pickup)
{
System.out.print(al.get(i).getCarname()+"?");
Allprice+=al.get(i).getPrice();
ALLBusload+=((Pickup)?al.get(i)).getBusload();
}
}
System.out.println("???總可載人數:"+ALLBusload+"人");
System.out.println();
System.out.println();
System.out.println("可載貨的車:");
for(int?i=0;i<al.size();i++)
{
if(al.get(i)instanceof?Pickup)
{
System.out.print(al.get(i).getCarname()+"?");
ALLBoatload+=?((Pickup)?al.get(i)).getBoatload();
}
else?if(al.get(i)instanceof?Lorry)
{
System.out.print(al.get(i).getCarname()+"?");
ALLBoatload+=?((Lorry)?al.get(i)).getBoatload();
Allprice+=al.get(i).getPrice();
}
}
System.out.println("???總可載貨物:"+ALLBoatload+"噸");
System.out.println();
System.out.println("一共需付的金額為:"+Allprice*Rentday);
}
else?if(str==0)
{
System.exit(5);
}
in.close();
}
}
package?com.DADAzuche;
public?abstract?class?Car
{
protected?int?ID;
protected?String?Carname;
protected?int?Price;
public?Car(int?iD,?String?carname,?int?price)?{
super();
this.ID?=?iD;
this.Carname?=?carname;
this.Price?=?price;
}
public?int?getID()?{
return?ID;
}
public?void?setID(int?iD)?{
ID?=?iD;
}
public?String?getCarname()?{
return?Carname;
}
public?void?setCarname(String?carname)?{
Carname?=?carname;
}
public?int?getPrice()?{
return?Price;
}
public?void?setPrice(int?price)?{
Price?=?price;
}
public?abstract?void?show();
}
package?com.DADAzuche;
public?class?Normalcar?extends?Car?
{
private?int?Busload;
public?Normalcar(int?iD,?String?carname,?int?price,?int?busload)?{
super(iD,?carname,?price);
Busload?=?busload;
}
public?int?getBusload()?{
return?Busload;
}
public?void?setBusload(int?busload)?{
Busload?=?busload;
}
@Override
public?void?show()?
{
System.out.println(ID+"\t\t"+Carname+"\t\t"+Price+"元/天"+"\t\t"+Busload+"人");
}
}
package?com.DADAzuche;
public?class?Lorry?extends?Car
{
private?int?Boatload;
public?Lorry(int?iD,?String?carname,?int?price,int?Boatload)?{
super(iD,?carname,?price);
this.Boatload?=?Boatload;
}
public?int?getBoatload()?{
return?Boatload;
}
public?void?setBoatload(int?boatload)?{
Boatload?=?boatload;
}
@Override
public?void?show()?{
System.out.println(ID+"\t\t"+Carname+"\t\t"+Price+"元/天"+"\t\t"+Boatload+"噸");
}?
}
package?com.DADAzuche;
public?class?Pickup?extends?Car
{
private?int?Busload;
private?int?Boatload;
public?Pickup(int?iD,?String?carname,?int?price,?int?busload,?int?boatload)?{
super(iD,?carname,?price);
this.Busload?=?busload;
this.Boatload?=?boatload;
}
public?int?getBusload()?{
return?Busload;
}
public?void?setBusload(int?busload)?{
Busload?=?busload;
}
public?int?getBoatload()?{
return?Boatload;
}
public?void?setBoatload(int?boatload)?{
Boatload?=?boatload;
}
@Override
public?void?show()
{
System.out.println(ID+"\t\t"+Carname+"\t\t"+Price+"元/天"+"\t\t"+Busload+"人"+","+Boatload+"噸");
}
}
/*************************************************************************/
package?嗒嗒租車系統;
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("歡迎使用租車系統:");
Scanner?input?=?new?Scanner(System.in);
System.out.println("您是否要租車?1/0(是/不是)");
try
{
int?select?=?input.nextInt();
if(select==1)
{
System.out.println("****歡迎進入租車系統****");
System.out.println("下面是您可以租車的類型和價目表");
CarType();
Zuchenumber();
}
else
System.out.println("歡迎下次光臨!正在退出系統....");
System.exit(5);
input.close();
}
catch(RuntimeException?e)
{
throw?new?RuntimeException("輸入的數據?類型不正確!");
}
}
public?static?void?Zuchenumber()
{
System.out.println();
System.out.println("請輸入您要租車的數量:");
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("請輸入要租車的天數");
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("總載人數:"+(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噸");
}
}
2015-12-01
?Car[]?car?={new?Normalcar(1,"奧迪A4",500,4),new?Normalcar(2,"馬自達6",400,4)
????????,new?Pickup(3,"皮卡",450,4,2),new?Normalcar(4,"蘇州金龍",800,50)
????????,new?Lorry(5,"躍進",400,4),new?Lorry(6,"依維柯",999,20)};
不明白這句?求解答
2015-05-02
在eclipse?里有報錯。。
2015-04-19
都沒講到過ArrayList的用法啊