2013-09-22 105 views
0

我正在嘗試執行以下操作:ArrayList中的元素總數

這是一種總計貓的ArrayList中所有貓腿的方法。

但是,我似乎無法將數組中的貓腿總數加起來,或將其顯示在控制檯上。

public static int getNumOfLegs() 
{ 

    return numOfLegs; 
} 

public void setNumOfLegs(int numOfLegs) 
{ 
    this.numOfLegs = numOfLegs; 

} 



    public static int totalNumOfLegs(ArrayList<Cat> catList) 
{ 
    int total = 0; 
    for (Cat c: catList) 
    { 
     total = total + getNumOfLegs(); 
    } 


    return total; 

} 

非常感謝。

+1

'返回4 * catList.size()'如果你因截肢貓而關閉,就把它叫做實驗性錯誤.-) – Tenner

+0

所以,'numOfLegs'是一個靜態成員?如果它不是如何從靜態方法返回它?如果是這樣,你爲什麼通過'setNumOfLegs()'''設置它的值' – einpoklum

回答

6

變化:

total = total + getNumOfLegs(); 

要:

total = total + c.getNumOfLegs(); 
+0

有遺憾的應該是貓截肢者:(謝謝你們兩個!我怎麼會去顯示到控制檯?我有System.out.println(「訓練的狗的總數是:」+ getNumOfLegs());但它不起作用 – user2268587

+0

'System.out.println(「數字是」+ totalNumOfLegs(aListOfCats))''。但在我看來,你在這裏的「設計」中已經犯了一些更爲根本性的錯誤,比如你怎麼有一種計算貓腿的方法......但是你試圖打印訓練的狗的數量? –

+0

啊是的,我也製作了一個Dog程序,它裏面也有相同的東西,我真的只是從那裏拷貝它,但現在是正確的了,現在我要把它放在System.out.println(「數字是」+「 totalNumOfLegs(aListOfCats))我的數組被稱爲catList,所以我假設我替換它,但是當我pu這一行:/我只是用這個腳本最糟糕的時間。 – user2268587

0

假設每隻貓都有不同數量的腿 - 你將需要單獨合計每隻貓的腿。爲此,您需要在for循環中使用您的貓對象(您將其命名爲c)以獲取腿的數量。 (建議已經爲c.getNumOfLegs();

此外,您的靜態方法getNumOfLegs和setNumOfLegs應在貓的類定義(而不是靜態的,當然)