交作業~折騰了好久o(╥﹏╥)o

//父類
package?com.imooc;
public?class?Car?{
????String?name;//名字
????double?rent;//租金
????int?passengers;//載客量
????double?goods;//載貨量
????
????public?Car(String?name,?double?rent,?int?passengers,?double?goods){
????????this.name?=?name;
????????this.rent?=?rent;
????????this.passengers?=?passengers;
????????this.goods?=?goods;
????}
}//子類
package?com.imooc;
public?class?Bus?extends?Car?{
????public?Bus(String?name,?double?rent,?int?passengers,?double?goods)?{
????????super(name,?rent,?passengers,?0);
????}
}package?com.imooc;
public?class?Truck?extends?Car?{
????public?Truck(String?name,?double?rent,?int?passengers,?double?goods)?{
????????super(name,?rent,?0,?goods);
????}
}package?com.imooc;
public?class?PickUp?extends?Car?{
????public?PickUp(String?name,?double?rent,?int?passengers,?double?goods)?{
????????super(name,?rent,?passengers,?goods);
????}
}//測試
package?com.imooc;
import?java.util.Scanner;
public?class?RentalSystem?{
????static?Scanner?input?=?new?Scanner(System.in);
????static?Car[]?cars?=?{
????????new?Bus("奧迪A4",?500,?4,?0),
????????new?Bus("馬自達6",?400,?4,?0),
????????new?PickUp("皮卡雪6",?450,?4,?2),
????????new?Bus("金龍",?800,?20,?0),
????????new?Truck("松花江",?400,?0,?4),
????????new?Truck("依維柯",?1000,?0,?20)
????};
????static?int?cho;
????static?double?rentPer?=?0;
????static?double?renTotal?=?0;
????static?int?passTotal?=?0;
????static?int?goodTotal?=?0;
????static?int?num;
????
????public?static?void?main(String[]?args)?{
????????System.out.println("*****歡迎使用嗒嗒租車系統*****");
????????isNeed();
????????if(cho?==?1){
????????????displayList();
????????????rentMessage();
????????}
????}
????
????public?static?void?isNeed(){
????????System.out.println("您是否要租車:1是??按其他數字鍵退出");
????????cho?=?input.nextInt();
????????if(cho?!=?1){
????????????System.out.println("感謝使用,再見。");
????????}
????}
????
????public?static?void?displayList(){
????????System.out.println("您可租車的類型及其價目表:");
????????System.out.println("序號\t汽車名稱\t租金\t\t容量");
????????for(int?i=0;?i<cars.length;?i++){
????????????if(cars[i].goods?==?0){
????????????????System.out.println((i+1)?+?"."?+?"\t"?+?cars[i].name?+?"\t"?+?cars[i].rent?+?"元/天"?+?"\t"?+?"載人:"?+?cars[i].passengers?+?"人");
????????????}
????????????else?if(cars[i].passengers?==?0){
????????????????System.out.println((i+1)?+?"."?+?"\t"?+?cars[i].name?+?"\t"?+?cars[i].rent?+?"元/天"?+?"\t"?+?"載貨:"?+?cars[i].goods?+?"噸");
????????????}
????????????else{
????????????????System.out.println((i+1)?+?"."?+?"\t"?+?cars[i].name?+?"\t"?+?cars[i].rent?+?"元/天"?+?"\t"?+?"載人:"?+?cars[i].passengers?+?"人?"?+?"載貨:"?+?cars[i].goods?+?"噸");
????????????}
????????}
????}
????
????public?static?void?rentMessage(){
????????System.out.println("請輸入您要租車的數量:");
????????num?=?input.nextInt();
????????String[]?goodNames?=?new?String[num];
????????String[]?passNames?=?new?String[num];
????????
????????for(int?i=0;?i<num;?i++){
????????????System.out.println("請輸入第"?+?(i+1)?+?"輛車的序號:");
????????????int?cur?=?input.nextInt();
????????????rentPer?+=?cars[cur-1].rent;
????????????passTotal?+=?cars[cur-1].passengers;
????????????goodTotal?+=?cars[cur-1].goods;
????????????if(cars[cur-1].passengers?>?0){
????????????????passNames[i]?=?cars[cur-1].name;
????????????}
????????????if(cars[cur-1].goods?>?0){
????????????????goodNames[i]?=?cars[cur-1].name;
????????????}
????????}
????????System.out.println("請輸入租車天數:");
????????int?time?=?input.nextInt();
????????renTotal?=?time?*?rentPer;
????????
????????System.out.println("***您的賬單***");
????????System.out.println("--可載人的車有:");
????????for(String?passName?:?passNames){
????????????if(passName?!=?null)
????????????System.out.println(passName);
????????}
????????//System.out.println(Arrays.toString(passNames));
????????System.out.println("共載人數:"?+?passTotal);
????????
????????System.out.println("--可載貨的車有:");
????????//System.out.println(Arrays.toString(goodNames));
????????for(String?goodName?:?goodNames){
????????????if(goodName?!=?null)
????????????System.out.println(goodName);
????????}
????????System.out.println("共載貨數:"?+?goodTotal);
????????
????????System.out.println("您的賬單總價為:"?+?renTotal?+?"元");
????}
?}
2020-04-15
我覺得你的子類要不要都無所謂??梢钥纯措娫挼陌咐?。
2020-03-27
String[] goodNames = new String[num];?
?String[] passNames = new String[num];
這里很細節啊,我一直在想怎么判斷最后載人載貨那里。
2020-03-27
沒有封裝的感覺?