如何检查布尔数组的所有元素是否为真
我有一个布尔数组,其大小取决于随机选择的字符串的大小.
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;
}
相关文章