2010-10-25 52 views
-3

我是新來的Java編程,需要創建一個名爲sizeofCarPark方法,它返回存儲在一個停車場的汽車的量的大小。我很欣賞我需要做的一些指示。創建一個Java方法,將返回一個ArrayList

+1

爲了回答您的問題,我們需要更多關於您班級的信息。 – jjnguy 2010-10-25 17:43:17

+1

這個問題聽起來像應該得到一個家庭作業標籤。 – Yrlec 2010-10-25 17:45:48

+0

@jjnguy - 超過「返回數組列表的大小」?還有什麼可以說,建立在此基礎上。除非他必須在不使用尺寸方法的情況下才能做到這一點,否則就沒有別的了。 – AaronM 2010-10-25 17:46:02

回答

3

什麼樣的物體是停車場?

ArrayList已經有一個size()方法。

例子:

public class CarPark { 
    private List<Car> cars = new ArrayList<Car>(); 

    public int sizeOfCarPark() { 
     return cars.size(); 
    } 
} 
+0

如果你關心設計,'cars'應該可能是'Set'而不是'List',除非你特別需要維護排序。但'Set'也有'size()'方法。 – 2010-10-25 17:52:33

+0

這樣做,非常感謝羅布。 Pieter – Pieter 2010-10-25 17:54:43

+0

@Pieter - 沒問題。未來的建議:您的問題有點含糊,因此請嘗試在您可能會問到的問題中添加一些細節。添加代碼片段有很長的路要走。 – 2010-10-25 17:58:02

0

只是做yourList.size()

0

ArrayList (Java 2 Platform SE v1.4.2) .. 的Javadoc始終是最好的地方開始。已經有了一個size()方法來完成它,所以你的方法需要做的就是調用它並返回它的值。

+1

可能不會傷害鏈接到比1.4.2更新的API版本。 Java 1.4的結束於2008年。 – 2010-10-25 17:45:45

+0

呵呵,你說得對,這真的很奇怪,我不認爲Oracle會保留那些舊的文檔。說實話,我只是使用了Google爲Arraylist提出的那個,從來沒有想過,6不會成爲頂端。 最新的正確版本之一是 - http://download.oracle.com/javase/6/docs/api/index.html 據我所知,ArrayList沒有改變,所以它應該是相同的,但比另一個更好地使用該API。 – AaronM 2010-10-25 17:50:41

+0

是的,它可能沒有改變。但是,深入研究文檔的用戶可能會遇到某些已過時或已在新版本中發佈的內容。我總是用Google的東西像「java arraylist 6」來獲得Java 6版本的第一個結果。此外,文檔可能仍然存在,因爲Oracle提供超出常規EOL的業務支持。 http://www.oracle.com/technetwork/java/eol-135779.html – 2010-10-25 17:56:22

2

如果你的 「停車場」 是,一個收集車的只有:

int totalCars = myCarPark.size(); 

如果你的 「停車場」 有-A收集車只(首選方案!):

int totalCars = myCarPark.getCars().size(); 

如果您的「CarPark」是-a混合集合,那麼您必須迭代並計算:

int count = 0; 
for (Object obj:myCarPark) 
    if (obj instanceof Car) count++; 

希望它能幫助!

0

我想你是爲了創建而不是使用集合類用於這一目的的一個自定義容器類。

這裏有一點提示。假設你有一個NumberBox類,它存儲了一個錯誤列表,錯誤代碼爲int s。爲了保持元素的數量,除了包含元素的數組外,還需要某種計數器。我們稱之爲size。最初,尺寸被設置爲0 然後,你必須addremove元件的方法,以及它返回當前size的方法。 一個實現看起來像這樣(不是一個完整的程序,缺少像檢查參數等東西)。

public class NumberBox { 
    private int[] list; 
    private size = 0; 

    public class NumberBox(int capacity) { 
     list = new int[capacity]; 
    } 

    public void add(int i) { 
     // put the int at the first unoccupied position 
     // increase the counter 
    } 

    public int remove() { 
     // remove the last int which was inserted 
     // decrement the counter 
     // return it 
    } 

    public size() { 
     return size; // return the current size 
    } 
} 

現在你需要做的是想想如何將這個應用到你的課堂。

+0

只是好奇,爲什麼當API已經提供了一個'List'接口來完成這些工作呢?如果你需要一個自定義的包裝器,它至少可以由一個'List'來支持。 – 2010-10-25 18:28:21