2013-03-25 64 views
0

我有這個程序,它完成了一大堆東西,但是我遇到了麻煩的部分是對arraylist中的奇數索引進行求和。總結一個數組元素的奇怪索引

每個1,3,5,7等,我需要總結並添加到一個變量。該變量的數據類型爲BigFractionArrayList - 知識只需要BigFractions

所以我原本

//Returns the combined probability (the odd indexes of the arraylist) 
public BigFraction weight() { 
    BigFraction sum; 
    if (knowledge.indexOf(knowledge)%2 == 1) 
     sum+ = no idea what to put in here 
     return sum; 
    } 
} 

我真的不知道這是獲取一個ArrayList的索引正確的語法要麼...我想你可以使用。新增或東西太多,但如果任何人都可以擺脫光線,那將是非常棒的。

乾杯,

+0

對於迭代..的for(int i = 1,最大值=則爲list.size(); I 2013-03-25 08:09:18

+0

您想在索引本身或存儲在該索引的值? – 2013-03-25 08:10:07

+0

@Ankur - OP非常不可能想要對奇數指數進行求和。 – SudoRahul 2013-03-25 08:11:41

回答

2

嘗試了這一點:

// Returns the combined probability (the odd indexes of the arraylist) 
public BigFraction weight() { 
    BigFraction sum; 
    for (int index = 1; index < knowledge.size(); index = index + 2) { 
     sum = sum.add(knowledge.get(index)); 
    } 

    System.out.println("Sum is " + sum); 

    return sum; 
} 
+2

你會讓OP在至少給出一個嘗試之前完全烘焙的代碼。 – SudoRahul 2013-03-25 08:16:27

+0

工作除了我需要改變sum + sum = sum.add,因爲我已經給出了另一種方法,增加了bigfractions,因爲正常的java數學沒有,另一方面,.length在這種情況下是未解決的,並向我拋出一個錯誤 – Sim 2013-03-25 08:16:33

+1

好吧,我得到它,歡呼我不得不初始化總和到BigFraction.ZERO這基本上是0作爲這個特定方法的一小部分,非常感謝。 – Sim 2013-03-25 08:19:53

1

這裏是一個暗示:你已經知道奇數索引的是什麼。你已經在你的問題中列出了它們。所有你需要做的是找到一個方法循環在他們身上。

一旦你明白了這一點,你需要找到一種方法來得到元素在給定的索引。

其他人,我相信很容易。

+0

我之前嘗試過使用for循環,沒有工作得很好,也許我會再試一次 – Sim 2013-03-25 08:13:05