При запуске ничего не появлялось, только сплошь оранжевый вывод. Я решила, что нажав "проверка", получить чуть больше информации, что же не так и куда надо посмотреть. Но проверку задача прошла!!! А верного решения так и нет. Подскажите, пожалуйста
Задача: Программа вводит с клавиатуры данные про котов и выводит их на экран.
Пример:
Cat's name: Barsik, age: 6, weight: 5, tail: 22
Cat's name: Murka, age: 8, weight: 7, tail: 20
Требования:
•
Программа должна считывать данные с клавиатуры.
•
Если пользователь ввел пустую строку вместо имени, то программа должна вывести данные на экран и завершиться.
•
Если пользователь ввел: Barsik, 6, 5 и 22 (каждое значение с новой строки), то программа должна вывести "Cat's name: Barsik, age: 6, weight: 5, tail: 22".
•
Если пользователь ввел: Murka, 8, 7 и 20 (каждое значение с новой строки), то программа должна вывести "Cat's name: Murka, age: 8, weight: 7, tail: 20".
•
Если пользователь ввел: Barsik, 6, 5, 22, Murka, 8, 7 и 20 (каждое значение с новой строки), то программа должна вывести две строки: "Cat's name: Barsik, age: 6, weight: 5, tail: 22" и "Cat's name: Murka, age: 8, weight: 7, tail: 20".
public class Solution {
public final static ArrayList<Cat> CATS = new ArrayList<>();
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String name = reader.readLine();
if (name.isEmpty()) break;
int age = Integer.parseInt(reader.readLine());
int weight = Integer.parseInt(reader.readLine());
int tailLength = Integer.parseInt(reader.readLine());
Cat cat = new Cat(name, age, weight, tailLength);
CATS.add(cat);
}
printList();
}
public static void printList() {
for (int i = 0; i < CATS.size(); i++) {
System.out.println(CATS.get(i));
}
}
public static class Cat {
private String name;
private int age;
private int weight;
private int tailLength;
public Cat(String name, int age, int weight, int tailLength) {
this.name = name;
this.age = age;
this.weight = weight;
this.tailLength = tailLength;
}
public Cat( int age, int weight, int tailLength) {
this.age = age;
this.weight = weight;
this.tailLength = tailLength;
}
@Override
public String toString() {
String text = "Cat's name: " + this.name;
text+=", age: " + this.age;
text+=", weight: " + this.weight;
text+=", tail: " + this.tailLength;
//System.out.println(text);
return text;
}
}
}
Jul
14 уровень
Ребята, это фиаско! Посмотрите, будьте добры!
Архивный
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
27 мая 2019, 14:28
Та вроде все так, не нашел различия между моим вариантом, так что двигайся дальше.
Разве что есть вопросы как что работает, все остальное потом еще много раз закрепится.
0
Jul
27 мая 2019, 14:43
Беспокоило отсутствие корректного вывода. Спасибо, что посмотрели!
0
Justinian Judge в Mega City One Master
27 мая 2019, 14:58
Та выводит. Просто я вижу еще один конструктор добавлен, в методе toString закомментирован system.out.println скорее всего были перестановки, поиски, и в процессе были ошибки, но потом пришло к правильному варианту.
В заданиях где даются готовые классы, методы, нужно вносить изменения только там где нужно, иначе можно ненароком что-то поломать. Бояться не нужно что-то менять, просто для себя разграничить - вот это, готовый рабочий кусок кода который дался нам свыше и мы его не трогаем, а вот здесь развернись душа как пожелает.
+1