从数组中查找奇数的和

时间:2013-05-01 18:52:43

标签: java arrays loops

我的程序应该从数组中取奇数并计算数组中奇数出现的次数。

e.g。 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

4 个答案:

答案 0 :(得分:7)

您正在检查计数器i,而不是值values[i]

答案 1 :(得分: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;

答案 2 :(得分: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;
}

答案 3 :(得分:0)

两件事:

  • 您没有检查数组中的任何内容 - 您可以使用values[i]执行此操作。

  • 如果你的数组是null,会发生什么?你会得到一个NullPointerException。您可能想要检查:

    if(values == null) {
       return 0;
    }