交作業~折騰了好久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
沒有封裝的感覺?