问题描述
我有一个布尔数组,其大小取决于随机选择的字符串的大小.
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;
}
这篇关于如何检查布尔数组的所有元素都为真的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!