我怎样才能以更简单的方式编写代码?
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.
你过度复杂了::-) (我之前似乎误读了这个问题,但我现在已经修复了答案.)
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)