亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

交個作業~

  1. 父類Car(屬性name,price)

  2. 子類Trunk(獨有屬性:載貨量)

  3. 子類Bus(獨有屬性:載客量)

  4. 子類Pickup(獨有屬性:載貨量,載客量)

  5. CarRentTest(測試類

package?CarRent;

public?class?Car?{

????private?String?carName;????
????private?int?carPrice;??
??????
????public?Car(String?name,?int?price)?{
????????carName?=?name;
????????carPrice?=?price;
????}
????
????public?String?getCarName()?{
????????return?carName;
????}
????
????public?int?getCarPrice()?{
????????return?carPrice;
????}
????
????public?void?setCarName(String?carName)?{
????????this.carName?=?carName;????
????}
????
????public?void?setCarPrice(int?carPrice)?{
????????this.carPrice?=?carPrice;
????}
}
package?CarRent;

/*?貨車,只能載貨?*/

public?class?Truck?extends?Car?{

????private?int?boatload;?//?載貨量
????
????public?Truck(String?name,?int?price,?int?boatload)?{
????????super(name,?price);
????????this.boatload?=?boatload;
????}
????
????public?int?getBoatload()?{
????????return?boatload;
????}
???????
????public?void?setBoatload(int?boatload)?{
????????this.boatload?=?boatload;
????}
????
}
package?CarRent;

/*?客車,只能載人?*/

public?class?Bus?extends?Car?{

????private?int?busload;?//?載客量
????
????public?Bus(String?name,?int?price,?int?busload)?{????????
????????super(name,?price);????????
????????this.busload?=?busload;????
????}
????
????public?int?getBusload()?{????????
????????return?busload;????
????}????
????
????public?void?setBusload(int?busload)?{????????
????????this.busload?=?busload;????
????}

}
package?CarRent;

/*?皮卡,既可以載貨也可以載人?*/

public?class?Pickup?extends?Car?{????????
????
????private?int?boatload;?//?載貨量????
????private?int?busload;?//?載客量????

????public?Pickup(String?name,?int?price,?int?boatload,?int?busload)?{????????
????????super(name,?price);????????
????????this.boatload?=?boatload;????????
????????this.busload?=?busload;
????}????
????
????public?int?getBoatload()?{????????
????????return?boatload;????
????}????
????
????public?int?getBusload()?{????????
????????return?busload;????
????}????
????
????public?void?setBoatload(int?boatload)?{????????
????????this.boatload?=?boatload;????
????}????
????
????public?void?setBusload(int?busload)?{????????
????????this.busload?=?busload;????
????}
????
}
package?CarRent;

import?java.util.Scanner;
import?java.util.List;
import?java.util.ArrayList;

public?class?CarRentTest?{????

????public?static?void?main(String[]?args)?{????????
????????
????????Car?availableCars[]?=?new?Car[]?{????????????
????????????new?Bus("奧迪A4",?500,?4),????????????
????????????new?Bus("馬自達6",?400,?4),????????????
????????????new?Pickup("皮卡雪6",?450,?2,?4),????????????
????????????new?Bus("金龍",?800,?20),????????????
????????????new?Truck("松花江",?400,?4),????????????
????????????new?Truck("依維柯",?1000,?20)????????
????????};????????
????????Scanner?input?=?new?Scanner(System.in);????????
????????System.out.println("歡迎使用答答租車系統:");????????
????????System.out.print("您是否要租車:1?是;0?否?>>>?");????????
????????int?rentOrNot?=?input.nextInt();????????
????????while?(rentOrNot?!=?0?&&?rentOrNot?!=?1)?{
????????????System.out.print("無效輸入。請重新輸入:1?是;0?否?>>>?");????????????
????????????rentOrNot?=?input.nextInt();????????????
????????????if?(rentOrNot?==?0)?{
????????????????System.out.println("再見!歡迎下次使用!");
????????????????System.exit(0);
????????????}?else?if?(rentOrNot?==?1)?{
????????????????break;????????????
????????????}?else?{
????????????????continue;
????????????}
????????}
????????
????????System.out.println("您可租車的類型及其價目表:");????????
????????System.out.println("序號\t汽車名稱\t租金\t\t容量");????????
????????for?(int?i?=?0;?i?<?availableCars.length;?i++)?{????????????
????????????Car?car?=?availableCars[i];????????????
????????????System.out.print((i+1)+".\t");????????????
????????????System.out.print(car.getCarName()+"\t\t");????????????
????????????System.out.print(car.getCarPrice()+"元/天\t");????????????
????????????if?(availableCars[i]?instanceof?Truck)?{????????????????
????????????????System.out.print("載貨:"+((Truck)car).getBoatload()+"噸\n");????????????
????????????}?else?if?(availableCars[i]?instanceof?Bus)?{????????????????
????????????????System.out.print("載人:"+((Bus)car).getBusload()+"人\n");????????????
????????????}?else?if?(availableCars[i]?instanceof?Pickup)?{????????????????
????????????????System.out.print("載人:"+((Pickup)car).getBusload()+"人?載貨:"+((Pickup)car).getBoatload()+"噸\n");
????????????}
????????}
????????
????????System.out.print("請輸入您要租汽車的數量(0?~?"+availableCars.length+"):>>>?");????????
????????int?rentNumber?=?input.nextInt();????????
????????while?(rentNumber?<?0?||?rentNumber?>?availableCars.length)?{
????????????System.out.print("無效輸入。請重新輸入(0?~?"+availableCars.length+"):>>>?");
????????????rentNumber?=?input.nextInt();
????????}????????
????????List<Integer>?carsAlreadyPicked?=?new?ArrayList<>();
????????for?(int?i?=?1;?i?<=?rentNumber;?i++)?{
????????????System.out.print("請輸入第"+i+"輛車的序號:>>>?");????????????
????????????int?carID?=?input.nextInt();????????????
????????????while?(carsAlreadyPicked.contains(carID)?||?carID?<?1?||?carID?>?availableCars.length)?{????????????????
????????????????if?(carID?<?1?||?carID?>?availableCars.length)?{????????????????????
????????????????????System.out.print("無效輸入。請重新輸入:>>>?");???????????????
????????????????}?else?{????????????????????
????????????????????System.out.print("該車已選擇。請重新選擇:>>>?");???????????????
????????????????}????????????????
????????????????carID?=?input.nextInt();????????????
????????????}????????????
????????????carsAlreadyPicked.add(carID);????????
?????????}????????
?????????
?????????System.out.print("請輸入租車天數(>?0):>>>?");????????
?????????int?rentDay?=?input.nextInt();????????
?????????while?(rentDay?<=?0)?{????????????
?????????????System.out.print("無效輸入。請重新輸入:>>>?");????????????
?????????????rentDay?=?input.nextInt();???????
?????????}????????
?????????
?????????int?totalExpense?=?0,?totalBusLoad?=?0,?totalBoatLoad?=?0;????????
?????????for?(int?id?:?carsAlreadyPicked)?{????????????
?????????????totalExpense?+=?availableCars[id-1].getCarPrice();????????
?????????}????????
?????????totalExpense?*=?rentDay;????????
?????????System.out.println("您的賬單:");????????
?????????System.out.println("***可載人的車有:");????????
?????????for?(int?id?:?carsAlreadyPicked)?{????????????
?????????????Car?car?=?availableCars[id-1];????????????
?????????????if?(availableCars[id-1]?instanceof?Bus?||?availableCars[id-1]?instanceof?Pickup)?{????????????????
?????????????????System.out.print(car.getCarName()+"\t");????????????????
?????????????????totalBusLoad?+=?(availableCars[id-1]?instanceof?Bus)???((Bus)car).getBusload()?:?((Pickup)car).getBusload();????????????
?????????????}????????
?????????}????????
?????????System.out.print("共載人:"+totalBusLoad+"人\n");????????
?????????System.out.println("***載貨的車有:");????????
?????????for?(int?id?:?carsAlreadyPicked)?{????????????
?????????????Car?car?=?availableCars[id-1];????????????
?????????????if?(availableCars[id-1]?instanceof?Truck?||?availableCars[id-1]?instanceof?Pickup)?{????????????????
?????????????????System.out.print(car.getCarName()+"\t");????????????????
?????????????????totalBoatLoad?+=?(availableCars[id-1]?instanceof?Truck)???((Truck)car).getBoatload()?:?((Pickup)car).getBoatload();????????????
?????????????}????????
?????????}????????
?????????System.out.print("共載貨:"+(double)totalBoatLoad+"噸\n");????????
?????????System.out.print("***租車總價格:");????????
?????????System.out.print(totalExpense+"元\n");?
????????????????
?????????input.close();????????
?????????System.out.println("再見!歡迎下次使用!");????
?????????
????}
}


正在回答

4 回答

List<Integer>?carsAlreadyPicked?=?new?ArrayList<>();? ? 有木有人告訴我這個語句的作用

0 回復 有任何疑惑可以回復我~
#1

慕圣0830664

List<Integer> carsAlreadyPicked = new ArrayList<>(); 表示: 1.創建了一個List集合,集合的具體類型為ArrayList, 2.集合中只能存放Integer類型的元素,如果存放其他類型的元素(如String)則會在編譯報錯。 3.<Integer>是1.5引入的泛型寫法,如果還沒有學習泛型,暫時不用理會,后面會學到。 4.而new ArrayList<>中的<>是Java7引入的新語法,如果還沒有學習,暫時不用理會,后面會學到。
2020-10-26 回復 有任何疑惑可以回復我~

參考了你的作業,寫得很好,對象數組、instanceof判斷對象類型、查重(能看懂,不會用)、遍歷都用得很好


0 回復 有任何疑惑可以回復我~

寫得很好

0 回復 有任何疑惑可以回復我~

不錯,比我的少?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

交個作業~

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號