Кто объяснит неразумному? BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(reader.readLine()); String eve; if (a%2==0) eve = "четное "; else eve = "нечетное "; if (a<1000 && a>99) System.out.println(eve + "трехзначное число"); else if (a<100 && a>9) System.out.println(eve + "двузначное число"); else if (a<10) System.out.println(eve + "однозначное число"); При введении чисел код работает. Со всеми числами получаем то, что и следует получить в задании. Но при запуске проверки не проходит валидацию по условию: "Если введенное число не попадает в диапазон 1 - 999, ничего не выводить на экран".