2014-01-10 6 views
0

Я немного смущен прямо сейчас ...Оценка && и || в, если заявление

У меня возникли, если заявление, в котором говорится:

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 в line 18
+1

Можете ли вы объяснить, что вы хотите с положительной логикой? Когда * должен * выполнить if-блок? –

+0

@ElliottFrisch PLS см. Обновление! – user2051347

+0

положите каждое условие рядом с вашим списком 1,2,3, затем поставьте '&&' или '||' между элементами и сделайте –

ответ

1

Попробуйте

  • Удалите один из ) s сразу после "Event_Index" и поместите его в конце, после !(line[18].contains("1").
  • Поместите ! сразу после if(.
  • Удалите остальную часть ! с.
  • Удалить избыточную () s

Как это:

if(!(line[15].contains("Event_Index") || line[16].contains("1") && line[18].contains("1"))) { 
Смежные вопросы