如何检查布尔数组的所有元素是否为真

2022-01-19 00:00:00 arrays boolean java

我有一个布尔数组,其大小取决于随机选择的字符串的大小.

I have a boolean array whose size depends on the size of a randomly selected string.

所以我有这样的事情:

boolean[] foundLetterArray = new boolean[selectedWord.length()];

随着程序的进行,这个特殊的布尔数组会被数组中每个元素的真实值填充.我只想在数组的所有元素都为真后立即打印一条语句.所以我试过了:

As the program progresses, this particular boolean array gets filled with true values for each element in the array. I just want to print a statement as soon as all the elements of the array are true. So I have tried:

if(foundLetterArray[selectedWord.length()]==true){
    System.out.println("You have reached the end");
}

这给了我一个越界异常错误.我也尝试过 contains() 方法,但即使数组中的 1 个元素为真,它也会结束循环.我是否需要一个遍历数组所有元素的 for 循环?我该如何设置测试条件?

This gives me an out of bounds exception error. I have also tried contains() method but that ends the loop even if 1 element in the array is true. Do I need a for loop that iterates through all the elements of the array? How can I set a test condition in that?

推荐答案

使用增强的for循环,可以轻松遍历数组,无需索引和大小计算:

Using the enhanced for loop, you can easily iterate over an array, no need for indexes and size calculations:

private static boolean allTrue (boolean[] values) {
    for (boolean value : values) {
        if (!value)
            return false;
    }
    return true;
}

相关文章