Chort работает, double не проходит проверку. а Integer вообще не преобразует
package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String s;
char[] arr;
Pattern pattern = Pattern.compile("([1-9]{1,}[\\.]{1,1}[1-9]{1,})");
Pattern pattern1 = Pattern.compile("[-+0-9]{1,}[\\.]{0,1}[0-9]{0,}");
do {
s = bufferedReader.readLine();
if(pattern1.matcher(s).matches()&&!s.equals("exit")) {// проверям число ли это
if (pattern.matcher(s).matches()) {// проверям если оно дробное
print(Double.parseDouble(s));
break;
} else{ if (Short.parseShort(s) > 0 && Short.parseShort(s) < 128) {
print(Short.parseShort(s));
break;
}
if (Integer.parseInt(s) <= 0 && Integer.parseInt(s) >= 128) {
print(Integer.parseInt(s));
break;
}}
}else print(s);
}
while (!s.equals("exit"));
bufferedReader.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);
}
}