Собственно, хотелось бы обсудить некоторые загадочные для меня вещи в этом задании. Повозившись в пустую с бафером, решил для интереса сделать через сканер. На удивление все скомпилировалось без исключений, правда выход оказался странным: Output Input Это тип String, значение 1.1 1.1 Это тип short, значение 100 100 Это тип Double, значение -1.0 -1 Это тип String, значение test Это тип String, значение test exit Во-первых, откуда взялась пустая строка? Во-вторых, почему 1.1 стало String? В-третьих, просматривая "правильное решение" я обнаружил, что вызов метода print для строки осуществляется в блоке catch. Почему? И как до такого можно вообще додуматься? catch (Exception e) { print(s); }