Отличия моего варианта от правильного ответа было в том что я сразу приводил считанную строку к int. Но такой вариант не понравился, В чем разница? Вот мой первоначальный вариант: String name = reader.readLine(); String name = reader.readLine(); int age = Integer.parseInt(reader.readLine()); int weight = Integer.parseInt(reader.readLine()); int tailLength = Integer.parseInt(reader.readLine()); if (name == null || name.isEmpty()) { break; } Cat cat = new Cat(name, age, weight, tailLength); CATS.add(cat);