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;

我得到了这些结果:( 来源:gyazo.com我的结果

4

4 回答 4

7

您正在检查您的 counteri而不是 value values[i]

于 2013-05-01T18:54:00.440 回答
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;
于 2013-05-01T18:55:49.613 回答
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;
}
于 2013-05-01T18:55:36.123 回答
0

两件事情:

  • 您没有检查数组中的任何内容 - 您可以使用values[i].

  • 如果你的数组为空会发生什么?你会得到一个NullPointerException. 您可能需要检查:

    if(values == null) {
       return 0;
    }
    
于 2013-05-01T18:55:40.317 回答