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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么讓數組變成動態的,插入刪除數據動態增減大小。

怎么讓數組變成動態的,插入刪除數據動態增減大小。

lsnFor 2016-06-01 20:00:13
//Car package?com.Car; public??class?Car?{ String?name; double?rent; public?void?Car(String?name,double?rent){}; public?String?getName()?{ return?name; } public?void?setName(String?name)?{ this.name?=?name; } public?double?getRent()?{ return?rent; } public?void?setRent(double?rent)?{ this.rent?=?rent; } } //PassengerCar package?com.Car; public?class?PassengerCar?extends?Car?{ private?double?peopleC; public?PassengerCar(String?name,double?rent,double?peopleC){ this.name?=?name; this.rent?=?rent; this.peopleC?=?peopleC; } public?double?getPeopleC()?{ return?peopleC; } public?void?setPeopleC(double?peopleC)?{ this.peopleC?=?peopleC; } } //Pickup? package?com.Car; public??class?Pickup?extends?Car{ private?double?peopleC; private?double?cargoC; public?Pickup(String?name,double?rent,double?cargoC,double?peopleC)?{ this.name?=?name; this.rent?=?rent; this.cargoC?=?cargoC; this.peopleC?=?peopleC; } public?double?getCargoC()?{ return?cargoC; } public?void?setCargoC(double?cargoC)?{ this.cargoC?=?cargoC; } public?double?getPeopleC()?{ return?peopleC; } public?void?setPeopleC(double?peopleC)?{ this.peopleC?=?peopleC; } } //Truck? package?com.Car; public?class?Truck?extends?Car?{ private?double?cargoC; public?Truck(String?name,double?rent,double?cargoC)?{ this.name?=?name; this.rent?=?rent; this.cargoC?=?cargoC; } public?double?getCargoC()?{ return?cargoC; } public?void?setCargoC(double?cargoC)?{ this.cargoC?=?cargoC; } } package?com.Car; import?java.util.Scanner; public?class?Test?{ public?static?void?main(String[]?args)?{ Car[]?cars?=?{?new?PassengerCar("金龍大巴",?1000,?40), new?PassengerCar("奧迪A6",?500,?4),?new?Pickup("小皮卡",?300,?5,?4), new?Truck("大卡車",?800,?25)?}; Scanner?Type?=?new?Scanner(System.in); System.out.println("歡迎使用答答租車系統"); System.out.println("您是否要租車:1是?0否"); String?input?=?Type.next(); if?(input.equals("1"))?{ System.out.println("您可租車的類型及價目表:"); System.out.println("序號\t汽車名稱\t租金\t\t容量"); int?i?=?1;//?車輛序號 for?(Car?Allcars?:?cars)?{ if?(Allcars?instanceof?PassengerCar)?{ System.out.println(i?+?"\t"?+?Allcars.getName()?+?"\t" +?Allcars.getRent()?+?"/天\t載人:" +?((PassengerCar)?Allcars).getPeopleC()?+?"/人"); i?+=?1; } if?(Allcars?instanceof?Pickup)?{ System.out.println(i?+?"\t"?+?Allcars.getName()?+?"\t" +?Allcars.getRent()?+?"/天\t載人:" +?((Pickup)?Allcars).getPeopleC()?+?"/人?載貨:" +?((Pickup)?Allcars).getCargoC()?+?"噸"); i?+=?1; } if?(Allcars?instanceof?Truck)?{ System.out.println(i?+?"\t"?+?Allcars.getName()?+?"\t" +?Allcars.getRent()?+?"/天\t載貨:" +?((Truck)?Allcars).getCargoC()?+?"噸"); i?+=?1; } } System.out.println("請輸入您要租車的數量:"); int?num?=?Type.nextInt(); double?rentsum?=?0;//?租車總金額 double?Peosum?=?0;//?載人總數 double?CargoCsum?=?0;//?載貨總數 String[]?PassengerName?=?new?String[4];//?存放可載人車輛的name的數組 String[]?CargoCars?=?new?String[4];//?存放可載貨車輛的name的數組 int?p?=?0; int?c?=?0; for?(int?n?=?1;?n?<=?num;?n++)?{ System.out.println("輸入第"?+?n?+?"輛車的序號:"); int?x?=?Type.nextInt(); rentsum?+=?cars[x?-?1].rent;//?計算租車金額 switch?(x?-?1)?{ case?0: if?(cars[x?-?1]?instanceof?PassengerCar)?{ PassengerName[p]?=?cars[x?-?1].name; Peosum?+=?((PassengerCar)?cars[x?-?1]).getPeopleC(); p?+=?1; } if?(cars[x?-?1]?instanceof?Pickup)?{ PassengerName[p]?=?cars[x?-?1].name; CargoCars[c]?=?cars[x?-?1].name; Peosum?+=?((Pickup)?cars[x?-?1]).getPeopleC(); CargoCsum?+=?((Pickup)?cars[x?-?1]).getCargoC(); p?+=?1; c?+=?1; } if?(cars[x?-?1]?instanceof?Truck)?{ CargoCars[c]?=?cars[x?-?1].name; CargoCsum?+=?((Truck)?cars[x?-?1]).getCargoC(); c?+=?1; } break; case?1: if?(cars[x?-?1]?instanceof?PassengerCar)?{ PassengerName[p]?=?cars[x?-?1].name; Peosum?+=?((PassengerCar)?cars[x?-?1]).getPeopleC(); p?+=?1; } if?(cars[x?-?1]?instanceof?Pickup)?{ PassengerName[p]?=?cars[x?-?1].name; CargoCars[c]?=?cars[x?-?1].name; Peosum?+=?((Pickup)?cars[x?-?1]).getPeopleC(); CargoCsum?+=?((Pickup)?cars[x?-?1]).getCargoC(); p?+=?1; c?+=?1; } if?(cars[x?-?1]?instanceof?Truck)?{ CargoCars[c]?=?cars[x?-?1].name; CargoCsum?+=?((Truck)?cars[x?-?1]).getCargoC(); c?+=?1; } break; case?2: if?(cars[x?-?1]?instanceof?PassengerCar)?{ PassengerName[p]?=?cars[x?-?1].name; Peosum?+=?((PassengerCar)?cars[x?-?1]).getPeopleC(); p?+=?1; } if?(cars[x?-?1]?instanceof?Pickup)?{ PassengerName[p]?=?cars[x?-?1].name; CargoCars[c]?=?cars[x?-?1].name; Peosum?+=?((Pickup)?cars[x?-?1]).getPeopleC(); CargoCsum?+=?((Pickup)?cars[x?-?1]).getCargoC(); p?+=?1; c?+=?1; } if?(cars[x?-?1]?instanceof?Truck)?{ CargoCars[c]?=?cars[x?-?1].name; CargoCsum?+=?((Truck)?cars[x?-?1]).getCargoC(); c?+=?1; } break; case?3: if?(cars[x?-?1]?instanceof?PassengerCar)?{ PassengerName[p]?=?cars[x?-?1].name; Peosum?+=?((PassengerCar)?cars[x?-?1]).getPeopleC(); p?+=?1; } if?(cars[x?-?1]?instanceof?Pickup)?{ PassengerName[p]?=?cars[x?-?1].name; CargoCars[c]?=?cars[x?-?1].name; Peosum?+=?((Pickup)?cars[x?-?1]).getPeopleC(); CargoCsum?+=?((Pickup)?cars[x?-?1]).getCargoC(); p?+=?1; c?+=?1; } if?(cars[x?-?1]?instanceof?Truck)?{ CargoCars[c]?=?cars[x?-?1].name; CargoCsum?+=?((Truck)?cars[x?-?1]).getCargoC(); c?+=?1; } break; default: break; } } System.out.println("請輸入租車天數:"); int?y?=?Type.nextInt(); System.out.println("您的賬單:"); System.out.println("***可載人的車有:"); for?(String?pn?:?PassengerName)?{ System.out.print(pn?+?"\t"); } System.out.println("載人總數:"?+?Peosum?+?"人"); System.out.println("***可載貨的車有:"); for?(String?cc?:?CargoCars)?{ System.out.print(cc?+?"\t"); } System.out.println("載貨總數:"?+?CargoCsum?+?"噸"); rentsum?=?rentsum?*?y; System.out.println("***租車總金額:"?+?rentsum); }?else?if?(input.equals("2"))?{ System.out.println("歡迎您訪問答答租車系統,再見。"); }?else?{ System.out.println("輸入錯誤!"); main(null);//?再次調用主函數 } } }
查看完整描述

3 回答

已采納
?
yanrun

TA貢獻317條經驗 獲得超240個贊

先回答你的問題動態數組可以使用ArrayList。再說你的代碼中有幾個錯誤Car類的構造方法是不需要返回值的,構造方法后面的;也是沒用的,還有就是Car類需要一個無參的構造方法,否則是無法通過編譯的,你的輸入提示是輸入1和0,然而if判斷的時候變成了1和2。最后提幾個建議,變量名首字母最好是小寫,Scanner類的對象type在最后最好調用close方法關閉資源,獲得輸入數據和計算價格的代碼可以變成兩個方法,這樣可以提高程序的靈活性。希望對你有幫助。

查看完整回答
1 反對 回復 2016-06-04
  • lsnFor
    lsnFor
    謝謝老師詳細的回答和幾點建議,做了一些修改,獲得輸入數據的方法不懂就沒寫= =。
  • yanrun
    yanrun
    不客氣,我也不是什么老師,只是一個剛入行的小碼農而已。這些東西只要多學多練,以后水平會越來越高的,加油
?
cafebabe0x

TA貢獻2條經驗 獲得超0個贊

相當凌亂,有待重構

查看完整回答
反對 回復 2016-06-01
  • lsnFor
    lsnFor
    謝謝,小白不怎么會規范的排版,能指點一二么?
  • 3 回答
  • 0 關注
  • 1913 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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