2017-04-19 371 views
1

我想在if語句中有多個選項,如if (Option1.equalsIgnoreCase("x" && "y"))。但是當我真的嘗試寫上述代碼時,它不會工作。我的目標是在符合if聲明的條件滿足2個或3個條件中的一個。如何在if語句中包含多個條件?

+1

'Option1.equalsIgnoreCase(「x」)&& Option1.equalsIgnoreCase(「y」)' –

+0

使用|| 「或」操作符而不是&&「,」通過這種方式,它會查看是否有任何選項是真實的,而不是它們都必須爲真 – HelloWorld

+0

我認爲您正在尋找'正則表達式'。 – Enzokie

回答

0

如果你想要做的事,如果選項1是 「X」 或 「Y」 使用以下命令:

if (Option1.equalsIgnoreCase("x") || Option1.equalsIgnoreCase("y")) { 
    //do stuff 
} 

||意味着OR,而& &意味着AND。如果您要使用& & Option1必須同時爲x和y,這是不可能的。

+0

謝謝!你真的幫了很多! –

+0

不要忘記接受或投票的答案,@TheChosenSnail –

1

你必須在不同的支票上劃分你的支票,你不能在一張支票上合併它們。

的邏輯AND,下面的代碼實施例,如果將optional1等於既XY(它不能)返回true。請注意我用&&運營商,這被稱爲操作: -

if(Option1.equalsIgnoreCase("x") && Option1.equalsIgnoreCase("y")){ 
// do something 
} 

的邏輯或實例。如果可選1等於XY,則以下代碼將返回true。注意我使用||,這被稱爲運營商。 OR的

if(Option1.equalsIgnoreCase("x") || Option1.equalsIgnoreCase("y")){ 
    // do something 
    } 

組合與邏輯AND運算符。(如果optional1或者是等於X或Y 1和選項,這將返回true等於Z.)

if((Option1.equalsIgnoreCase("x") || Option1.equalsIgnoreCase("y")) && Option2.equalsIgnoreCase("Z")){ 
     // do something 
     } 

。像這樣可以結合多種條件。

-1

不幸的是,Java並沒有這樣的條件。

你必須檢查分成兩個分句在你的if語句,如:

if ("x".equalsIgnoreCase(Option1) || "y".equalsIgnoreCase(Option2) { 
    .... 
} 

注意到,我用||(或OR)不&&(AND)爲好,因爲如果我們使用&&,它永遠不會是真的(一個字符串永遠不會是「x」和「y」)。

更多的信息在here

+0

爲什麼'不幸'? – EJP

+0

因爲我們不能那樣做嗎? :) – Gabe

0

你可以使用正則表達式

option1.matches("[xXyY]") 

它說是串X或Y的任何情況下?