Когда вводишь число вне диапазона ничего не выводит на экран, однако почему-то пишет что последние условие не выполнено
package com.javarush.task.task04.task0427;
/*
Описываем числа
*/
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));
String i = reader.readLine();
int j = i.length();
int a = Integer.parseInt(i);
int b;
if (a >=1 && a <= 999)
b = a;
else b = 9500;
if (j == 1 && b % 2 == 0) System.out.println("четное однозначное число");
else if (j == 1 && b % 2 != 0) System.out.println("нечетное однозначное число");
else if (j == 2 && b%2 == 0) System.out.println ("четное двузначное число");
else if (j == 2 && b % 2 !=0) System.out.println ("нечетное двузначное число");
else if (j==3 && b%2 ==0) System.out.println("четное трехзначное число");
else if (j== 3 && b%2 !=0) System.out.println ("нечетное трехзначное число");
//напишите тут ваш код
}
}