не могу понять почему не инициализирует b, k инициализирована по тому же принципу, ее воспринимает, b почему-то нет. подскажите пожалуйста, на что обратить внимание т.к. задача не отправляется на решение из-за непроинициализированной переменной привожу код здесь
public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String a1 = reader.readLine();
        int a = Integer.parseInt(a1);
        String b, k;
        if (a>=1&&a<10) b = "однозначное число";
        if (a>=10&&a<100) b = "двузначное число";
        if (a>=100&&a<1000) b = "трехзначное число";
        boolean k1 = (a%2==0);
        if (k1) k = "четное"; else k = "нечетное";
        System.out.println(k+b);
    }
}