Что не так? Выводит ошибку "Если введенное число не попадает в диапазон 1 - 999, ничего не выводить на экран"
package com.javarush.task.task04.task0427;
/*
Описываем числа
*/
import org.w3c.dom.ls.LSOutput;
import java.io.*;
import java.util.*;
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());
int num = (int)Math.log10(a)+1; //логарифм позволяет вычислить кол-во символов в вводимом числе
if ((a%2==0) && num == 1) System.out.println("четное однозначное число");
else if ((a%2!=0) && num == 1 && a<=999 && a >=1) System.out.println("нечетное однозначное число");
else if ((a%2==0) && num == 2 && a<=999 && a >=1) System.out.println("четное двузначное число");
else if ((a%2!=0) && num == 2 && a<=999 && a >=1) System.out.println("нечетное двузначное число");
else if ((a%2==0) && num == 3 && a<=999 && a >=1) System.out.println("четное трехзначное число");
else if ((a%2!=0) && num == 3 && a<=999 && a >=1) System.out.println("нечетное трехзначное число");
}
}