這是我的代碼,僅供參考,歡迎大家指正,謝謝??!
//測試類 package?com.imooc; import?java.util.Scanner; public?class?Initial?{ public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub Car[]?carsForRent={new?PassengerCar("奧迪A4",500,4),new?PassengerCar("馬自達6",?400,?4),new?PickUp("皮卡雪6",?450,?4,?2),new?PassengerCar("金龍",?800,20),new?Trunk("松花江",?400,4),new?Trunk("依維柯",1000,20)}; System.out.println("歡迎使用答答租車系統(tǒng):"); System.out.println("您是否需要租車:1是??0否"); Scanner?input=new?Scanner(System.in); int?u=input.nextInt(); if(u==1){ System.out.println("您可租車的類型及價目表:"); System.out.println("序號\t汽車名稱\t租金\t\t容量"); int?i=1; for(Car?currentCar:carsForRent){ if(currentCar?instanceof?PassengerCar){ System.out.println(""+i+"\t"+currentCar.getName()+"\t"+currentCar.getCost()+"/每天?\t\t"+currentCar.getCapacity()+"人"); } else?if(currentCar?instanceof?PickUp){ System.out.println(""+i+"\t"+currentCar.getName()+"\t"+currentCar.getCost()+"/每天?\t\t"+currentCar.getCapacity()+"人/"+currentCar.getCapacity1()+"噸"); } else{ System.out.println(""+i+"\t"+currentCar.getName()+"\t"+currentCar.getCost()+"/每天\t\t"+currentCar.getCapacity1()+"噸"); } i++; } System.out.println("請輸入您要租汽車的數(shù)量:"); int?n=input.nextInt(); int?fair=0; int?contain=0; int?contain1=0; int[]?a?=?new?int[6]; for(int?j=1;j<=n;j++){ System.out.println("請輸入第"+j+"輛汽車的序號:"); i=input.nextInt(); a[j-1]=i; fair+=carsForRent[i-1].cost; contain+=carsForRent[i-1].capacity; contain1+=carsForRent[i-1].capacity1; } System.out.println("請輸入租車天數(shù):"); int?day=input.nextInt(); fair*=day; System.out.println("您的賬單:"); System.out.println("***可載人的車有:"); int?h=0; for(int?k=0;k<n;k++){ if(a[k]!=5||a[k]!=6){ System.out.print(carsForRent[(a[k]-1)].name+"\t"); h++; } } if(h==0){ System.out.println("***沒有可以載人的車!"); } else System.out.println("共載人:"+contain+"人"); h=0; System.out.println("***可以運貨的車有:"); for(int?k=0;k<n;k++){ if(a[k]==5||a[k]==6||a[k]==3){ System.out.print(carsForRent[(a[k]-1)].name+"\t"); h++; } } if(h==0){ System.out.println("***沒有可以運貨的車!"); } else System.out.println("共載貨:"+contain1+"噸"); System.out.println("***租車總價格:"+fair+"元"); } input.close(); System.out.println("感謝您的使用!?。?); } }
//父類
package com.imooc;
public class Car {
String name;
int cost;
int capacity;
int capacity1;
public String getName(){
return name;
}
public int getCost(){
return cost;
}
public int getCapacity(){
return capacity;
}
public int getCapacity1(){
return capacity1;
}
}
//三個子類(1)
package com.imooc;
public class PassengerCar extends Car{
public PassengerCar(String name,int cost,int capacity){
this.name=name;
this.cost=cost;
this.capacity=capacity;
}
public String getName(){
return name;
}
public int getCost(){
return cost;
}
public int getCapacity(){
return capacity;
}
}
//三個子類(2)
package com.imooc;
public class PickUp extends Car {
public PickUp(String name,int cost,int capacity,int capacity1){
this.name=name;
this.cost=cost;
this.capacity=capacity;
this.capacity1=capacity1;
}
public String getName(){
return name;
}
public int getCost(){
return cost;
}
public int getCapacity(){
return capacity;
}
public int getCapacity1(){
return capacity1;
}
}
//三個子類(3)
package com.imooc;
public class Trunk extends Car {
public Trunk(String name,int cost,int capacity1){
this.name=name;
this.cost=cost;
this.capacity1=capacity1;
}
public String getName(){
return name;
}
public int getCost(){
return cost;
}
public int getCapacity1(){
return capacity1;
}
}
2017-01-17
37 行有錯誤 ?imput
2016-02-18
57行,應(yīng)換成if(a[k]!=5&&a[k]!=6){ ?吧 。數(shù)組a長度為6,相當于限制了借車的輛數(shù),只能借6輛。建議在輸入車輛序號時加一個是否小于6的判斷條件。 ?謝謝您提供的代碼,自己估計很難做出來。。
2016-02-17
好厲害,話說用繼承的話是不是可以只用寫子類的構(gòu)造方法,其余的返回價格 型號可以不用寫(從父類繼承)