2014-11-23 120 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 =符号表示分配变量,不进行比较。希望这会有所帮助