Почему так работает
String name = reader.readLine();
            if (name.isEmpty()) break;
            int age = Integer.parseInt(reader.readLine());
            int weight = Integer.parseInt(reader.readLine());
            int tail = Integer.parseInt(reader.readLine());
а так нет
String name = reader.readLine();

            int age = Integer.parseInt(reader.readLine());
            int weight = Integer.parseInt(reader.readLine());
            int tail = Integer.parseInt(reader.readLine());
            if (name.isEmpty()) break;
Все равно же он проверяет String на пустоту. После первого прохождения цикла возвращается и проверяет, но программа не работает в таком случае