java: 21: ошибка: неправильные типы операндов для двоичного оператора '& lt; ='

Выполните следующие команды:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Затем, чтобы установить конкретный jdk, выполните следующие действия:

jdk6:

sudo apt-get install oracle-java6-installer

jdk7: [ ! d3]

sudo apt-get install oracle-java7-installer

jdk8:

sudo apt-get install oracle-java8-installer
0
задан 13 August 2018 в 14:23

3 ответа

Прежде всего, вам не нужно проверять, есть ли N % 2 == 0, потому что, если это не != 0 в вашей первой проверке, возможно только одно else, то есть == 0.

Способ чтения вашего кода может быть вложенным, если такие утверждения выглядят следующим образом:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int N = scanner.nextInt();

    if (N % 2 != 0) {
        System.out.println("Weird");
    } else {
        if (2 <= N && N <= 5) {
            System.out.println("NotWeird");
        }
    }
}
2
ответ дан 15 August 2018 в 17:04

try (2<=N && N<=5) 2<=N - return boolean, после этого вы пытаетесь сравнить boolean с номером https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

0
ответ дан 15 August 2018 в 17:04

Проблема заключается в

 (2 <= N <= 5)  

Visualize (2 & lt; = N) сначала оценивается как boolean (скажем true), тогда это условие становится

(true <= 5)

Итак, теперь & lt; = Оператор имеет логические и int в качестве операндов. Поэтому он говорит

bad operand types for binary operator '<='  

. Ваш код должен быть

(2 <= N && N <= 5)
1
ответ дан 15 August 2018 в 17:04

Другие вопросы по тегам:

Похожие вопросы: