确保数组中的所有元素都不为零

jl9*_*l90 0 java arrays

我怎样才能以更简单的方式编写代码?

for(int i=0; i<array.length; i++)
{
    if(myArray[i] == 0)
    {
        myBoolean = false;
        break;
    }
    else if(myArray[0] != 0 && myArray[1] != 0 && myArray[2] != 0)
    //may continue depending on array length
    {
        myBoolean = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我现在拥有的是"if else语句",如果在我的数组中,只是一个元素不为零,它会将我的布尔值更改为true.但我需要的是确保数组中的所有元素都不为零,然后将布尔值更改为true.

T.J*_*der 5

你过度复杂了::-) (我之前似乎误读了这个问题,但我现在已经修复了答案.)

boolean allNonZero = true;
for (int i = 0; allNonZero && i < array.length; ++i) {
    if (array[i] == 0) {
        allNonZero = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至

boolean allNonZero = true;
for (int i = 0; allNonZero && i < array.length; ++i) {
    allNonZero = array[i] == 0;
}
Run Code Online (Sandbox Code Playgroud)

或使用增强的for循环:

boolean allNonZero = true;
for (int entry : array) {
    if (entry == 0) {
        allNonZero = false;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)