package com.javarush.task.task04.task0426;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Ярлыки и числа
*/
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine()); //напишите тут ваш код
String ch = a%2==0? "четное число":"нечетное число";
if (a<=0)
System.out.println("отрицательное "+ch);
else if(a==0)
System.out.println("ноль");
if (a>=0)
System.out.println("положительное "+ch);
}
}Leonid_88_R
14 уровень
Почему на ноль не решает, не выполняет условие??? что не так делаю?
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
David Matthews
27 октября 2020, 20:55
У Вас нестрогое сравнение с нулём в строках
Если a == 0, то выполнится эта часть условного оператора, так как 0 <= 0. Соответственно, строки
не будут выполняться ни при каких условиях.
+3
Leonid_88_R
29 октября 2020, 19:38
А если поменять местами? сначала ноль, а потом отрицательное?
0
David Matthews
29 октября 2020, 20:52решение
А Вы попробуйте 😀
Кстати, я упустил из виду, что у Вас там дальше идёт ещё одна нестрогая проверка
Причём она выполняется независимо от результатов проверки
В результате, если переменная равна нулю, то сразу несколько условий оказываются истинными.
Попробуйте использовать нестрогие сравнения и конструкцию вида
+4
Leonid_88_R
30 октября 2020, 20:15
Спасибо, отлично. Убрал нестрогое сравнение и всё заработало.
0