计算奇数的Java方法返回错误的值

时间:2014-11-20 20:23:39

标签: java arrays methods parameters main

我想创建一个计算数组中奇数的方法,但是当我尝试返回并打印出来时,该值变为0.这是代码:

public static void main(String[] args) {
    int b[] = {1, 2, 3, 4, 5, 6, 7, 8};
    int sum = check(b);
    System.out.println(sum);

}

public static int check(int[] b){
    int j = 0;
    for(int i = 0; i>= b.length-1;i++){

        if(b[i] %2 != 2{
            j++;
        }
    }



    return j;

}

我也无法使用参数运行方法,所以这可能是问题所在?非常感谢所有帮助

2 个答案:

答案 0 :(得分:2)

  1. for循环的中间表达式应为true以保持循环,而不是停止循环。尝试

    i < b.length
    
  2. %运算符给出余数,1表示奇数,0表示即使2是操作数。要计算赔率,请尝试

    if (b[i] % 2 == 1){
    
  3. (也添加了最后的括号)

答案 1 :(得分:0)

您的循环正在检查您的数组是否大于数组的长度 你想检查它是否小于或永远循环。将您的代码更改为小于 看看它是否能满足您的需求。