如何检查数组中的所有元素是否都是Java

时间:2017-12-28 11:36:09

标签: java arrays boolean

如何检查数组中的所有元素是偶数还是奇数? 对于evens,我尝试用这个:

public boolean isEvens(int[] array) {
    for (int i = 0; i<array.length;i++) {
        if ( i % 2 == 0) {
            return true;
        }
        else {
            return false;
        }
    }
}

但是有错误...... Thnx提前!

6 个答案:

答案 0 :(得分:7)

  • 您应该检查数组元素,而不是数组索引。
  • 在检查数组的所有元素之前,你不应该返回# to_dbl_list [1; 2; 3];; - : int lista = Some {v = 1; next = Some {v = 2; next = Some {v = 3; next = None; prev = <cycle>}; prev = <cycle>}; prev = None}
  • 您可以使用计数器计算赔率或平均数,或使用布尔值来确定是否有任何赔率或平均值。

例如:

true

检查所有是偶数还是全部都是奇数:

public boolean allEven(int[] array) {
    for (int i = 0; i<array.length; i++) {
        if (array[i] % 2 != 0) {
            return false;
        }
    }
    return true;
}

答案 1 :(得分:7)

从java 8开始,使用lambdas减少代码是一个好习惯:

偶数:

return Arrays.stream(array).allMatch( i -> i % 2 == 0);

for odd:

return Arrays.stream(array).allMatch( i -> i % 2 == 1);

答案 2 :(得分:0)

只检查一个奇数元素,如果不存在,那么所有元素都是偶数。

public boolean isEvens (int[] array){
    for (int i = 0; i < array.length; i++) {
        if (array[i] % 2 != 0) {
            return false;
        } 
    }
    return true;
}

答案 3 :(得分:0)

您希望比较索引i的数组元素,而不是i本身。 检查应为if (array[i] % 2 == 0)

答案 4 :(得分:0)

使用下面的代码供参考使用a [i]

  public static void isEvens() {
    int [] array = {1,2,3,4,5};
    for (int i = 0; i<array.length;i++) {
        if (array[i] % 2 == 0) {
           System.out.println("Even");
        }
        else {
           System.out.println("Odd");
        }
    }

答案 5 :(得分:0)

  

我建议为此使用递归,因为使用递归,运行时间将少于使用循环的时间,而且这是一些代码行。   我为此编写了一个代码,但是使用c#,我将其发布在下面,它可能会对您有所帮助,因为java中的语法与c#的语法非常相似。

public static bool isAllEvens(int[] a, int index)
    {
        if (index == 0 && a[index] % 2 == 0) return true;
        else
        {
            if (a[index] % 2 == 0)
                return true && isAllEvens(a, index - 1);
            return false;
        }
    }
  

要调用此函数,只需使用两个参数(数组和array.length-1是最后一个索引)来调用它。

以下是调用此函数的示例

        int[] a = new int[4];
        a[0] = 8; a[1] = 4; a[2] = 8; a[3] = 8;
        Console.WriteLine(isAllEvens(a, a.Length - 1));