I've ran it through with negative odds/evens, 0 and numbers over 999 in another compiler, all return nothing. It satisfies all other conditions. Greatly appreciate any help.
package com.codegym.task.task04.task0427;
/*
Describing numbers
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
//write your code here
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
String a = Integer.toString(num);
int len = a.length();
String ans = "";
if (num != 0 && len == 1 && num % 2 == 0)
ans = "even single-digit number";
else if(num != 0 && len == 1 && num % 2 != 0)
ans = "odd single-digit number";
else if (num > 0 && len == 2 && num % 2 == 0)
ans = "even two-digit number";
else if (num > 0 && len == 2 && num % 2 != 0)
ans = "odd two-digit number";
else if (num > 0 && len == 3 && num % 2 == 0)
ans = "even three-digit number";
else if (num > 0 && len == 3 && num % 2 != 0)
ans = "odd three-digit number";
else if (num == 0 || num < 1 || num > 999)
ans = "";
System.out.println(ans);
}
}