Не пойму почему не проходит проверку последнее условие. Фактически оно отработано, но проверка забагована или что? Помогите плз.
package com.javarush.task.task04.task0427;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Описываем числа
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int num;
num = Short.parseShort(reader.readLine());
if(num<1|num>999) return;
int digitCapacity = digitCapacity(num);
boolean even = num%2==0;
String result = "";
result += even?"четное ":"нечетное ";
switch (digitCapacity){
case 1:
result += "однозначное ";
break;
case 2:
result += "двузначное ";
break;
case 3:
result += "трехзначное ";
break;
}
result += "число";
System.out.print(result);
}
public static int digitCapacity(int number) {
if(number==0)
return 1;
int capacity = 0;
while (true) {
if(number!=0)
capacity++;
else
return capacity;
number = (number-(number%10))/10;
}
}
}