Не проходит дабл и стринг, хотя при проверке отрабатывает как нужно, разобрался с регулярками и на проверку поставил точку и цифры
package com.javarush.task.task15.task1519;
import java.util.Locale;
import java.util.Scanner;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
while (!sc.hasNext("exit")){
if (sc.hasNext("exit")){
sc.close();
}else if (sc.hasNextDouble() && sc.hasNext("^[0-9]*[.][0-9]+$")){
print(sc.nextDouble());
} else if (sc.hasNextInt()){
int number = sc.nextInt();
if (number > 0 && number < 128){
print((short) number);
} else {
print(number);
}
} else {
print(sc.next());
}
}
}
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);
}
}