2014-11-23 169 views
1
if (gold >= 5 || (item1 = false)) { 
    item1 = true; 
    gold = gold - 5; 
} 

即使item1爲true,這樣也會繼續。如果其中任何一個都不符合,我希望函數不運行。謝謝If語句中的多個條件

+3

'item1 == false'或'!item1' – 2014-11-23 01:21:26

+1

_「我希望函數不能運行,如果其中任何一個都不符合。」_ - 您能否重新解釋一下嗎?你的意思是,如果任何一個條件成立,或者只有_both_爲真(在這種情況下你需要'&&'而不是'||'),那麼分配纔會發生? – nnnnnn 2014-11-23 01:41:25

回答

5

Item1 = false是一個總是評估爲false的任務。

您需要物品1 ==假

2

你必須明白分配(=)和等價比較(==)之間的差異。您的代碼將賦值爲false給變量item1。要評估item1的值,請使用:

if (gold >= 5 || item1 == false) { 
    item1 = true; 
    gold = gold - 5; 
} 

此外,括號內的附加嵌套不是必需的。

1

試圖改變這一點:

if (gold >= 5 || (item1 = false)) { item1 = true; gold = gold - 5; } 

有了這個:

if (gold >= 5 || (item1 == false)) { item1 = true; gold = gold - 5; } 

隨着2 =跡象,你檢查的等價性。用1 =符號表示分配變量,不進行比較。希望這會有所幫助