2014-01-10 134 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"))) {