我正在尝试检查数组中的1或3,如果找到任何一个,则打印false,否则打印true。我是这样的:
if(array[i] == 1){
bool = false;
}
else if(array[i] == 3){
bool = false;
}
else{
bool = true;
}
然而,它并不适用于所有情况。
如果输入为0 2 4
,则按原样打印为真。
但是如果输入是4 2 7 1 8
,那么它应该是假的,因为它有1,但是它打印为真。
我做错了什么?
编辑:在if中添加了一个中断并更改了if语句。立即行动。
if(array[i] == 1 || array[i] == 3){
bool = false;
break;
}
else{
bool = true;
}
答案 0 :(得分:3)
更好的方法是
boolean flag = true;
for(int i=0; i<myArray.length; i++)
{
if(myArray[i]==1 || myArray[i]==3){
flag = false;
break;
}
}
return flag;
答案 1 :(得分:0)
此代码
if(array[i] == 1 || array[i] == 3){
bool = false;
break;
}
else{
bool = true;
}
相等
if(array[i] == 1){
bool = false;
}else{
bool = true;
}
if(array[i] == 3){
bool = false;
}
else{
bool = true;
}