如果有条件,则每个条件单独起作用,但不能一起起作用



我单独测试了每个语句,它可以工作,但当我使用||时,它会忽略!driver.getText().toString().equals(")部分。有什么想法吗?

 if((!driver.getText().toString().equals(""))|| (canDrive>=0) )  

||运算符的意思是-因此,如果其中一个条件为true,则测试成功。如果希望两个条件都为true,请使用&&

更多阅读:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

如果要执行条件的两个部分,请使用'|'运算符。即

if(driver.getText().toString().length() > 0 | canDrive >= 0) 

不过,语句的左侧部分应该始终执行:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.24

如果编译器发现canDrive>=0,它将忽略条件的其余部分因为您正在使用||(或)条件,所以会发生这种情况,

其他方面的完美,

我试着看代码了。

class test{
    public static void main(String[] arr){
    String str = TestString";
    int canDrive = 1;
    if(!str.toString().equals("") || canDrive >=0)
        System.out.println("pass");
        else
        System.out.println("fail");
    }
}

相关内容

最新更新