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

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

將類中的對象添加到數組中

將類中的對象添加到數組中

搖曳的薔薇 2022-06-04 15:11:34
我是 Java 新手,最近編寫了一個小程序,使用 Arraylist 將汽車存儲在車庫中。現在我必須將程序轉換為僅使用數組。我的問題是我不能再像使用 Arraylist 那樣直接引用我的 Car 類來創建一個 Array。Car 類是在基于輸入文件的 main 方法中創建的。車類代碼:public class Car { private final String licensePlate;  // license plate number private int timesMoved = 0;    // number of moves car has endured public Car(String licenseNum) {  licensePlate = licenseNum; } public String getlicensePlate(){  return licensePlate; }public void incrementTimesMoved()   //increment number of moves by 1{  timesMoved = timesMoved + 1;}public int getTimesMoved(){  return timesMoved;}}在我的車庫課上,我有這個代碼public class Garage {private Car carDeparted;private ArrayList<Car> Garage; // a list of car objects public Garage() {    Garage = new ArrayList<>() ;  }}這真的很好,所以我用一個數組嘗試了同樣的想法,但沒有做錯新車庫類代碼public class Garage {private Car carDeparted;Car [] Garage;  // a list of car objects/**  Constructs a garage with no cars.*/public Garage() {    Garage = new Car [10];     for (int i = 0; i < Garage.length; i++)    Garage[i] = new Car(); }車庫[i] = new Car(); 說錯誤,因為我需要字符串參數來填充它,但是當我有 arraylist 時,我沒有這個問題。我需要它,以便數組根據創建的汽車類在其中存儲多達 10 輛汽車。有任何想法嗎?謝謝
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

問題是您嘗試在構造函數中做很多事情,創建一個單獨的類來管理車庫和汽車,或者為簡單起見向您的類添加一個main方法。Garage


此外,添加一個公共方法來將汽車添加到車庫。這就是main方法的樣子


public static void main(String[] args) {

    Garage garage = new Garage(10); // 10 is the number of cars that can park in the garage

    Car car1 = new Car("ABC123456");

    garage.add(car1);

    Car car2 = new Car("DEF5467467");

    garage.add(car2);

   //more code to test your classes

}

請注意,如果操作正確,此代碼將獨立于您存儲汽車的方式,在數組或 ArrayList 中運行。祝你好運


查看完整回答
反對 回復 2022-06-04
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

在 ArrayList 版本中,您剛剛聲明了 ArrayList 但沒有在其中存儲任何汽車對象。但是在您的代碼的數組版本中,您試圖將汽車對象存儲在其中,根據您的代碼,目前無法完成。所以你只要這樣做,


public Garage()

{

   Garage = new Car [10]; 

}

當您需要在數組中添加 Car 對象時,您可以使用new關鍵字創建 Car 類的對象。例如,


Garage[0] = new Car("abc");


查看完整回答
反對 回復 2022-06-04
?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

您的問題是構造函數的二重奏正如您在 Car.java 中看到的那樣

         public Car(String licenseNum)
        {
           licensePlate = licenseNum;
        }

您正在使用的構造函數需要一個字符串輸入,嘗試一個沒有輸入的構造函數這應該可以工作。


查看完整回答
反對 回復 2022-06-04
  • 3 回答
  • 0 關注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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