Решал десятки задач такого типа, но видимо очень сильно отупел... расскажите еще сразу, пожалуйста, про вызов метода из блока catch public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line;//reader.readLine(); while (true) { try { line = reader.readLine(); if (line.equals("exit")) break; else if (line.contains(".")) { print(Double.parseDouble(line)); continue; } else if (Integer.parseInt(line) > 0 && Integer.parseInt(line) < 128) { print((short) Integer.parseInt(line)); continue; } else if (Integer.parseInt(line) <= 0 || Integer.parseInt(line) >= 128) { print(Integer.parseInt(line)); continue; } else { print(line); continue; } } catch (NullPointerException exception) { print(line); } } }