2015-09-26 87 views
-3

我正在爲我的一個類寫作業,我試圖首次使用多個布爾條件。具體問題是,爲什麼這個運作價值不起作用?

if(gender.equalsIgnoreCase("M")) && (activity.equals("0")); 
{ 
    System.out.println("Male"); 
} 

返回錯誤,特別是「Java的;表現的非法啓動」

是否有什麼原因呢?這兩個變量存在,所以這不是問題(我敢肯定)

+4

仔細看看你的遺物。 – RealSkeptic

回答

1

改變這一行:

if(gender.equalsIgnoreCase("M")) && (activity.equals("0")); 

if(gender.equalsIgnoreCase("M") && (activity.equals("0")) 

如果(gender.equalsIgnoreCase( 「M」) & &(activity.equals(「0」));

額外括號分號是你不需要的東西。

0

if(gender.equalsIgnoreCase("M"))本身就是if語句。

添加&& (activity.equals("0"));混淆Java有兩個原因。

  1. &&需要是第一(和最後)這樣

if (conditionOne && conditionTwo)內你有這樣

if (conditionOne) && (conditionTwo)

  • 的其他問題是你的if語句結尾有分號。當你這樣做時,它會盡早關閉if語句,並且不管if語句的結果如何,它都會執行括號中的代碼行。
  • +1

    好吧,你是對的。但是,它們將被執行,而不管if條件的結果如何。謝謝,我會改變我的答案來反映這一點。 – david2278