Как реализовать такую проверку?

svk

1,185
3
Для простоты восприятия сделал такой код:
Код:
boolean blockUp = gun.getTagCompound().getBoolean("BlockUpLevel");
int level = pack.getTagCompound().getInteger("level");
Надо сделать проверку, если blockUp != true и при этом-же level != 1, то условие выполнялось...
Помогите, не могу никак додуматься...
 
Хм... Может быть:
Код:
if (blockUp != true && level != 1) {
//Выполнение
}
или но то-же самое:
Код:
if (!blockUp && level != 1) {
//Выполнение
}
Это?
 
Так если blockUp будет равно true, то условие уже не выполнится, а мне надо, если blockUp != true и при этом-же level != 1
[merge_posts_bbcode]Добавлено: 29.04.2015 19:52:24[/merge_posts_bbcode]

Хм, может просто &?
 
" != " - Не равно..
" == " - Равно...
"if (!blockUp)" - Если равно false или не равно true, то выполняеться.
"if (blockUp)" - Если равно true или не равно false, то выполняеться.
 
Допёр, так?
if(blockup != (level == 1))
[merge_posts_bbcode]Добавлено: 29.04.2015 19:57:36[/merge_posts_bbcode]

Нет, так тоже не сойдёт, оба false будут...
[merge_posts_bbcode]Добавлено: 29.04.2015 19:59:10[/merge_posts_bbcode]

Dovakin написал(а):
if(!blockUp&&level!=-1)
В чем проблема?
Так если blockUp будет !true, то условие не выполнится, даже если level == 0
[merge_posts_bbcode]Добавлено: 29.04.2015 20:04:52[/merge_posts_bbcode]

Хм...
if((blockUp != (level == 1)) == true)

true != false => true
true != true => false
false != true => true

Решено :)
 
svk написал(а):
true != false => true
true != true => false
false != true => true
Больше похоже на "A ^ B - Логическое XOR (исключающее OR (ИЛИ))"
Молодец, что решил.
 
Agravaine написал(а):
Код:
if(blockUp || level == 1){}
false false => false
[merge_posts_bbcode]Добавлено: 29.04.2015 21:31:52[/merge_posts_bbcode]

Хм, а решил-ли я...

[merge_posts_bbcode]Добавлено: 29.04.2015 21:36:29[/merge_posts_bbcode]

Я так и не решил, если blockUp == false и levl == false => false != false => false и всеравно не нашел я решение... Пойду на киберфорум напишу...
 
level == 1 - неудобно, сделаем так:
boolean isFirstLevel = level == 1;

Что условие должно выдавать в следующих случаях?
1) blockUp == false, isFirstLevel == false
2) blockUp == false, isFirstLevel == true
3) blockUp = true, isFirstLevel == false
4) blockUp = true, isFirstLevel == true

Четко сформулируй, что тебе надо, и ответ придет сам собой :p
 
Я же говорю, надо что-бы условие НЕ проходило, только в том случае, если blockUp == true и level == 1
 
Что делает 1 условие?
Во 2, или, оно не подходит. Т.е. если blockUp == false а level == 1, то выйдет true, false => условие не выполнится
[merge_posts_bbcode]Добавлено: 29.04.2015 22:17:14[/merge_posts_bbcode]

if(!(false && true)) => true
if(!(false && false)) => true
if(!(true && false)) => true
if(!(true && true)) => false

Это то что надо! Спасибо!
 
GloomyFolken написал(а):
if (!(blockUp && level == 1))
или
if (!blockUp || level != 1)
Закон де Моргана?
kiss_0kb.1430343396.jpg
 
Назад
Сверху