我測試了每個語句本身和它的作品,但當我使用||它忽略!driver.getText()。toString()。equals(「」)語句的一部分。有任何想法嗎?如果有條件的每個條件在自己的工作,但不是在一起
if((!driver.getText().toString().equals(""))|| (canDrive>=0))
我測試了每個語句本身和它的作品,但當我使用||它忽略!driver.getText()。toString()。equals(「」)語句的一部分。有任何想法嗎?如果有條件的每個條件在自己的工作,但不是在一起
if((!driver.getText().toString().equals(""))|| (canDrive>=0))
的||
的操作裝置或 - 所以,如果任一條件爲真,測試成功。如果你想要兩個條件都成立,請使用&&
。
更多閱讀:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
謝謝,我覺得自己像個白癡。 – Aaron 2012-04-04 02:03:55
@Aaron - 沒問題。鏈接是Java Tutorials,這是開始Java的一個很好的資源。 – 2012-04-04 02:04:57
如果要執行條件的兩個部分,請使用'|'運營商。即
if(driver.getText().toString().length() > 0 | canDrive >= 0)
雖然,語句的左側部分應始終執行:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.24
OP聲稱第一部分沒有運行,而不是第二部分。 – 2012-04-04 01:58:22
如果編譯器發現canDrive> = 0比defiitely因爲你使用||它會忽略的條件 其餘部分(或)條件所以這將發生,
其他明智的完美,
我曾嘗試查看代碼。
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");
}
}
您可以通過使用使這一點清潔'String.isEmpty()'而不是'等於(「」)' – ulmangt 2012-04-04 01:54:57
的LHS總是會評估 - 你確定這是實際的代碼? – 2012-04-04 01:57:54
你是什麼意思它「忽略'!driver.getText()。toString()。equals(」「)'」部分? – 2012-04-04 01:58:51