package com.javarush.task.task15.task1519; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; /* Разные методы для разных типов */ public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ArrayList<String> data = new ArrayList<>(); while(true){ String s = reader.readLine(); if(s.equals("exit")){break;} data.add(s); } Pattern patternDouble = Pattern.compile("^\\d+\\.\\d+$"); Pattern patternNumber = Pattern.compile("^\\d+"); Pattern patternString = Pattern.compile("^\\D+"); for (int i = 0; i < data.size(); i++) { Matcher matcherDouble = patternDouble.matcher(data.get(i)); Matcher matcherNumber = patternNumber.matcher(data.get(i)); Matcher matcherString = patternString.matcher(data.get(i)); if(matcherDouble.matches()){ Double d = Double.parseDouble(data.get(i)); print(d); } if(matcherNumber.matches()){ int integer = Integer.parseInt(data.get(i)); if(integer <= 0||integer >= 128){ print(integer);} else print((short)integer); } if(matcherString.matches()){ print(data.get(i)); } } } 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); } }