Проблемы с булевой алгеброй

возможно есть простое решение моей проблемы, но я не могу его найти! Следующая проблема (в программе Java):

Log.d(TAG, "---------------------> " + ((x ‹ LEFT_X) || (x > RIGHT_X)));

Предполагая, что LEFT_X = 100 и RIGHT_X = 1000

если значение x = 50, то вывод TRUE -> это то, что я ожидал

если значение x = 1050, то вывод = TRUE -> это то, что я ожидал

если значение x = 500, вывод тоже = ИСТИНА -> но здесь я бы ожидал ЛОЖЬ (потому что ЛОЖЬ ИЛИ ЛОЖЬ = ЛОЖЬ)!

Что я сделал не так?


person Michael Sauer    schedule 19.01.2017    source источник
comment
Вы уверены, что проблема не в другом? Само рассуждение кажется мне правильным.   -  person Codor    schedule 19.01.2017
comment
Попробуйте зарегистрировать точные значения в вашем выражении отдельно друг от друга, например. Log.d({} {} {}, x, LEFT_X, RIGHT_X);   -  person Agoston Horvath    schedule 19.01.2017


Ответы (1)


нашел свою ошибку! Я должен использовать правильные переменные (leftX вместо константы LEFT_X)

person Michael Sauer    schedule 19.01.2017