Не пойму какой случай я не обработал, все условия выполнил не могу понять что упустил, что бы не вводил выдает String как и указано в условии..
package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws IOException {
String inputString = "";
String point = ".";
do {
inputString = (new Scanner(System.in)).nextLine();
try {
if (Integer.parseInt(inputString) > 0 && Integer.parseInt(inputString) < 128) {
print(Short.parseShort(inputString));
}
if (Integer.parseInt(inputString)<=0|Integer.parseInt(inputString)>=128){
print(Integer.parseInt(inputString));
}
} catch (NumberFormatException ex){
try {
if (inputString.contains(point)) {
try {
print(Double.parseDouble(inputString));
} catch (NumberFormatException e){
print(inputString);
}
} else print(inputString);
} catch (NumberFormatException x){
print(inputString);
}
}
} while (!inputString.equals("exit"));
}
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);
}
}