2014-01-10 136 views
0

我一点点,现在迷茫......评估&&和||在if语句

我有一个if语句的规定:

if(!(line[15].contains("Event_Index")) && line[16].contains("1") && line[18].contains("1")) { 

如果没有第15行中包含“事件索引”和第16行确实包含一个1,第18行确实包含一个然后走得更远。

然而,是否应被not executet:如果第15行包含字符串事件索引或行16不包含1条或线路18不包含1

我写的那样:

if((!(line[15].contains("Event_Index"))) || !(line[16].contains("1")) && !(line[18].contains("1"))) { 

但是,这并没有改变任何东西。

我感谢您的回复!

UPDATE

的如果如果应当执行:

  1. 没有 “事件索引” 字符串
  2. 存在线1 16
  3. 有在1第18行
+1

你能解释一下你想用正逻辑是什么?当*应该* if块被执行时? –

+0

@ElliottFrisch请参阅更新! – user2051347

+0

将每个条件放在1,2,3列表的旁边,然后在项目之间放置'&&'或'||'并完成 – 2014-01-10 21:18:26

回答

1

试试这个

  • 删除)之后的一个"Event_Index",并将其置于!(line[18].contains("1")之后的末尾。
  • !立即放在if(之后。
  • 删除其余的! s。
  • 删除冗余()小号

像这样:

if(!(line[15].contains("Event_Index") || line[16].contains("1") && line[18].contains("1"))) {