Подскажите, пожалуйста. Не понимаю, что не так, вроде все, на все что я ввожу правильно реагирует
package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//напиште тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = reader.readLine();
while(!str.equals("exit")){
if (str.contains(".")) {
try {
print(Double.parseDouble(str));
}catch (NumberFormatException ex){
print(str);
}
}else {
try {
Integer i = Integer.parseInt(str);
if (i <= 0 || i > 128) {
print(i);
}
if (i > 0 && i < 128) {
print(i.shortValue());
}
} catch (NumberFormatException ex) {
print(str);
}
}
str = reader.readLine();
}
reader.close();
}
public static void print(Double value) {
System.out.println("Это тип Double, значение " + value);
}
public static void print(String value) {
System.out.println("Это тип String, значение " + value);
}
public static void print(short value) {
System.out.println("Это тип short, значение " + value);
}
public static void print(Integer value) {
System.out.println("Это тип Integer, значение " + value);
}
}