2013-05-01 25 views
0

我的程序應該從數組中取出奇數並計算奇數出現在數組中的次數。從數組中找出奇數的和

例如 countOdds({3,7,2,4})應該返回2,因爲數組中有兩個奇數。

public int countOdds (int[] values) { 
int oddTotal=0; 
for(int i=0;i<values.length;i++){ 
if(i%2!=0){ 
oddTotal=oddTotal+1; 
} 
} 
return oddTotal; 

我得到這些結果爲: my results http://gyazo.com/e802b78671018a23b73402ecfeb9b994.png

+1

這是功課? – JonH 2013-05-01 18:54:41

+0

您是否嘗試過調試您的代碼? – Anton 2013-05-01 18:54:44

回答

7

您檢查您的計數器i,而不是價值values[i]的。

+0

謝謝,修復它。 – 2013-05-01 18:55:24

+0

@ NatalieCorfe-Tan如果Keppil的建議幫助了你,你應該接受答案。這是這個網站的工作原理。 – CPerkins 2013-05-01 20:20:00

0
public int countOdds (int[] values) { 
    int oddTotal=0; 
    for(int i=0;i<values.length;i++) { 
    if(values[i] % 2 != 0) { 
     oddTotal=oddTotal+1; 
    } 
    return oddTotal; 
} 
0

兩件事情:

  • 你不是在數組中檢查什麼 - 你可以做到這一點與values[i]

  • 如果您的數組爲空,會發生什麼?你會得到一個NullPointerException。您可能要檢查的是:

    if(values == null) { 
        return 0; 
    } 
    
1
public int countOdds (int[] values) { 
int oddTotal=0; 
if(values == null) 
    return oddTotal; 
for(int i=0;i<values.length;i++){ 
    if(values[i]%2!=0){ 
    oddTotal=oddTotal+1; 
    } 
} 
return oddTotal;