首页 > 解决方案 > java函数检查总和是偶数还是奇数,为什么我的代码不起作用?

问题描述

我的代码有问题,它没有导致任何错误,但没有给出结果。

我写了一个函数来检查数组的所有数字的总和是偶数还是奇数:

package tests;

public class Test {

public static String oddOrEven(int[] array) {

    int X = 0;
    String y;
    int i;
    for (i = 0; i <= array.length; i++) {

        X += array[i]; // this is line 12
    }
    if (X % 2 == 0) {
        y = "even";
    } else {
        y = "odd";
    }
    return y;
}
public static void main(String[] args) {


    oddOrEven(new int[] {
        4,
        8,
        9,
        64,
        21,
        7
    }); // this is line 25

}

}

我看到的异常:

在此处输入图像描述

请帮忙。

谢谢你

标签: java

解决方案


将您的 for 语句更改为:

    for (i = 0; i < array.length; i++) { //this line was wrong by you, use '<' instead of '<='
        X += array[i]; 
    }

您使用的是此运算符<=而不是<,因此当您达到数组 ( 6) 的大小时,您正在尝试使用 index 检索数组元素6,而 index5是您的最高值。


推荐阅读