И в условиях задачи написано что тип short от 0 до 128, хотя на самом деле диапазон от -128 до 128, если я что то не понимаю заранее извините.
package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.ArrayList;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<>();
String s;
while (true){
s = reader.readLine();
if(s.equals("exit")){
break;
}
list.add(s);
}
for (String value : list) {
if (value.contains(".")) {
print((Double) Double.valueOf(value));
}
else {
try {
Integer i = Integer.valueOf(value);
if (i > 0 && i < 128) {
print(Short.valueOf(value));
}
else if (i <= 0 || i >= 128 ) {
print(i);
} else {
print(value);
}
} catch (Exception e) {
print(value);
}
}
}
//напиште тут ваш код
}
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);
}
}