условные операторы

273
18 ноября 2021, 09:40

Подскажите пожалуйста почему при условии a != b && c IDEA говорит что operator && can not be applied to boolian, int. Вроде a,b,c обозначены как int.

Answer 1

Дело в том, что вы пытаетесь сравнить результат сравнения a и b с переменной c. Для лучшего понимания того, что я имею в виду, расставим скобки. (a != b) && c, то есть, пологая результат выражения (a != b) == true, а int c = 1 ваше выражение будет выглядеть так: true && 1 Т.к. все переменные у вас имеют тип int, то получается, что после сравнения a != b вы получаете результат boolean true/false, а затем пытаетесь этот boolean сравнить с int c. В Java нельзя сравнивать int с boolean (подробнее можно узнать, что с чем сравнивается, почитав про приведение типов), переменные примитивного типа boolean принимают значения только true или false и их нельзя привести к цифрам (0 или 1), так же как и цифры (0 или 1) нельзя привести к true/false. Более того, вы не сможете привести оберточный тип Boolean к значению, если будете пытаться сделать это не от строки, равной "true" или "false" (то есть можете попытаться, но всегда будете получать false).

READ ALSO
Легкий путь анимирования java

Легкий путь анимирования java

В университете дали задание смоделировать морской портУ него есть 5 станций обработки, каждая работает в своем потоке параллельно

86
Логическая ошибка в коде?

Логическая ошибка в коде?

Помогите исправить код чтобы работал правильно -

74
Ошибка при подключении “ORA-12505: TNS:listener does not currently know of SID given in connect descriptor”

Ошибка при подключении “ORA-12505: TNS:listener does not currently know of SID given in connect descriptor”

Установила Oracle11g, настроила подключение в идее - все окНо в итоге выдает такую ошибку:

144