Если введенное число не попадает в диапазон 1 - 999, ничего не выводить на экран если число не попадает ничего и не выводится, что тут не так?
if ((i >= 1) || (i <= 999)){
        if ( i%2==0 && i/10==0 ){
            System.out.println("четное однозначное число");
        }else if( i%2!=0 && i/10==0 ){
            System.out.println("нечетное однозначное число");
        }else if( i%2==0 && i/100==0 ){
            System.out.println("четное двузначное число");
        }else if( i%2!=0 && i/100==0 ){
            System.out.println("нечетное двузначное число");
        }else if( i%2==0 && i/1000==0 ){
            System.out.println("четное трехзначное число");
        }else if( i%2!=0 && i/1000==0 ) {
            System.out.println("нечетное трехзначное число");
        }
        }