package?com.imooc;
import?java.util.Scanner;
public?class?DaDaRent?{
public?static?void?main(String?[]args){
?float?sum=0f;//保存用戶消費(fèi)總額
?Vehicle?[]vehicle={new?Car(1,"奧迪A6",5,200f),new?Car(2,"保時(shí)捷A6L",5,200),
???new?Truck(3,"馬自達(dá)",13,500),new?Truck(4,"依維柯",10,400),
???new?PickUp(5,"QQ",6,5,300),
???new?PickUp(6,"金龍",8f,3,400f)};
?Scanner?input=new?Scanner(System.in);//創(chuàng)建Scanner對(duì)象
?System.out.println("***************歡迎來到dada租車系統(tǒng)***************");
?System.out.println("是否真的租車?是1否0?請(qǐng)輸入:");
?int?userIn=input.nextInt();//獲取用戶輸入的結(jié)果并保存到userIn變量中
?//用戶確認(rèn)要租車
?if(userIn==1){
?System.out.println("租車信息列表如下:");
?System.out.println("車牌號(hào):"+"\t\t"+"車名字:"+"\t\t"+"車型:"+"\t\t"+"載貨量(座位數(shù)):"+"\t\t\t"+"價(jià)錢:");
?for(int?i=0;i<vehicle.length;i++){
??vehicle[i].infoShow();
?}
?System.out.println("請(qǐng)輸入您要租車的數(shù)量:");
?int?carNum=input.nextInt();//租車數(shù)量保存到carNum變量中
?????int?[]carId=new?int[100];//定義一個(gè)足夠大的數(shù)組carId,用來接收存儲(chǔ)用戶選擇的車牌號(hào)
?System.out.println("請(qǐng)選擇你需要租車的車牌號(hào):");
?for(int?i=0;i<carNum;i++){
??carId[i]=input.nextInt();
?}
?System.out.println("請(qǐng)輸入你需要租車的天數(shù):");
?int?day=input.nextInt();//租車天數(shù)保存到day變量中
?System.out.println("**************您在dada租車系統(tǒng)的訂單如下:*****************");
?System.out.println("你選擇的車輛信息如下:");
?System.out.println("車牌號(hào):"+"\t\t"+"車名字:"+"\t\t"+"車型:"+"\t\t"+"載貨量(座位數(shù)):"+"\t\t\t"+"價(jià)錢:");
?for(int?i=0;i<carNum;i++){
??for(int?j=0;j<vehicle.length;j++){
???if(vehicle[j].getId()==carId[i]){
???vehicle[j].infoShow();
???sum=sum+vehicle[j].getPrice();
???}
?}
?}
?System.out.println(sum);
?System.out.println("您租車的數(shù)量為:"+carNum+"您租車的天數(shù)為:"+day);
?System.out.println("您總共消費(fèi)為:"+sum*day);
?}
?//用戶確認(rèn)不租車
?else{
??????System.out.println("歡迎下次光臨dada租車系統(tǒng)!");
?}
}
}
package?com.imooc;
public?abstract?class??Vehicle?{
?int?id;//車牌號(hào)
?String?name;//車名字
?float?price;//車的價(jià)錢
?public?Vehicle(int?id,String?name,float?price){
??super();//調(diào)用父類的構(gòu)造方法,Vehicle類的父類默認(rèn)為Object類。
??this.id=id;
??this.name=name;
??this.price=price;?
?}
?
?public?int?getId(){
??return?id;
?}
?
?public?void?setId(int?id){
??this.id=id;
?}
?
?public?String?getName(){
??return?name;
?}
?
?public?void?setName(){
??this.name=name;
?}
?
?public?float?getPrice(){
??return?price;
?}
?
?public?void?setPrice(float?price){
??this.price=price;
?}
?
?public?abstract?void?infoShow();//將車輛信息打印出來
}
package?com.imooc;
public?class?Car?extends?Vehicle?{
?public?final?String?cartype="載客車";
?int?seatNum;
?public?Car(int?id,String?name,int?seatNum,float?price){
??super(id,name,price);//調(diào)用父類的構(gòu)造方法,進(jìn)行車輛信息的初始化。
??this.seatNum=seatNum;
?}
?
?public?int?getSeatNum(){
??return(seatNum);
?}
?
?public?void?setSeatNum(){
??this.seatNum=seatNum;
?}
?@Override
?public?void?infoShow()?{
??//?TODO?Auto-generated?method?stub
???????//?System.out.println("車牌號(hào):"+id+"車名字:"+name+"車型:"+cartype+"座位數(shù):"+seatNum+"價(jià)錢:"+price);
??System.out.println(id+"\t\t"+name+"\t\t"+cartype+"\t\t"+seatNum+"人"+"\t\t\t\t"+price+"元/天");
?}
}
package?com.imooc;
public?class?Truck?extends?Vehicle?{
?public?final?String?cartype="載貨車";
?float?loadNum;
?public?Truck(int?id,String?name,float?loadNum,float?price){
??super(id,name,price);//調(diào)用父類的構(gòu)造方法,進(jìn)行車輛信息的初始化。
??this.loadNum=loadNum;
?}
?
?public?float?getLoadNum(){
??return(loadNum);
?}
?
?public?void?setLoadNum(){
??this.loadNum=loadNum;
?}
?@Override
?public?void?infoShow()?{
??//?TODO?Auto-generated?method?stub
??System.out.println(id+"\t\t"+name+"\t\t"+cartype+"\t\t"+loadNum+"噸"+"\t\t\t\t"+price+"元/天");
?}
}
package?com.imooc;
public?class?PickUp?extends?Vehicle?{
?public?final?String?cartype="兼容車型";
?/*由于子類PickUp繼承了父類Vehicle,父類中定義了id,name,price變量,
??*?如果子類中重新定義這些變量的話,則創(chuàng)建一個(gè)指向子類的對(duì)象時(shí)候,首先執(zhí)行構(gòu)造方法,然后初始化成員變量,
??*?在該類中,調(diào)用父類的構(gòu)造方法進(jìn)行id,name,price的初始化,然后再執(zhí)行子類中成員變量的初始化,
??*?則id,name,price又被默認(rèn)賦值為默認(rèn)值(0,NULL,0.0),所以這里子類不應(yīng)該再重新定義這三個(gè)變量。
?int?id;
????String?name;
????float?price;*/
?float?loadNum;
?int?seatNum;
?public?PickUp(int?id,String?name,float?loadNum,int?seatNum,float?price){
??super(id,name,price);//調(diào)用父類的構(gòu)造方法,進(jìn)行車輛信息的初始化。
??this.loadNum=loadNum;
??this.seatNum=seatNum;
?}
?
?public?float?getLoadNum(){
??return(loadNum);
?}
?
?public?void?setLoadNum(){
??this.loadNum=loadNum;
?}
?
?public?int?getSeatNum(){
??return(seatNum);
?}
?
?public?void?setSeatNum(){
??this.seatNum=seatNum;
?}
?@Override
?public?void?infoShow()?{
??//?TODO?Auto-generated?method?stub
??System.out.println(id+"\t\t"+name+"\t\t"+cartype+"\t\t"+loadNum+"噸"+"\t\t"+seatNum+"人"+"\t\t"+price+"元/天");
?}
}
2015-06-09
為什么不傳到作品里,讓大家都來學(xué)習(xí)你的代碼