Не проходит по двум условиям:
1) где мы находим "." и если возможно преобразовать в Double, то используем метод print(Double value);
2 где все остальные значения являются String.
package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//напиште тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String inputS = null;
int inputI = 0;
Double inputD = 0.0;
int index = 0;
while (true) {
inputS = reader.readLine();
if (inputS.equals("exit")) break;
else if (inputS.indexOf( '.' ) == 1) {
try {
inputD = Double.parseDouble(inputS);
print(inputD);
}
catch (Exception e) {
print(inputS);
}
}
else {
try {
inputI = Integer.parseInt(inputS);
if (inputI > 0 && inputI < 128) {
print((short) inputI);
}
else {
print(inputI);
}
} // try
catch (Exception e) {
print(inputS);
}
}
} // while
} // main
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);
}
}