JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Пока разбиралась с ArrayList-ами, все перемешалось в част...
Карина
12 уровень
  • 28.01.2022
  • 319просмотров
  • 4комментариев

Пока разбиралась с ArrayList-ами, все перемешалось в части объектов((((((. Подскажите, почему, мое решение не верное?

Вопрос по задаче Нужно исправить программу, чтобы компилировалась и работала
Java Syntax,  9 уровень,  8 лекция
Решен


Задача: Программа вводит с клавиатуры данные про котов и выводит их на экран.

Пример:

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".
  • Если пользователь ввел пустую строку вместо имени, то программа должна вывести данные на экран и завершиться.
.....
package com.javarush.task.jdk13.task07.task0726; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; /* Нужно исправить программу, чтобы компилировалась и работала */ 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(); 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); } 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; Cat(String name, int age, int weight, int tailLength) { this.name = name; this.age = age; this.weight = weight; this.tailLength = tailLength; } @Override public String toString() { return "Cat's name: " + name + ", age: " + age + ", weight: " + weight + ", tail: " + tailLength; } } }
0
Комментарии (4)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
28 января 2022, 09:49
Если пользователь ввел пустую строку вместо имени, то считывать остальные параметры уже не нужно.
+2
Карина
Уровень 12
28 января 2022, 10:07
пока все равно не понимаю... а у меня разве не так?
0
Ksenia VolkovaJava Developer в DXCMaster
28 января 2022, 10:10
Не так. Ты в любом случае считвыаешь 4 строки
String name = reader.readLine();
int age = Integer.parseInt(reader.readLine());
int weight = Integer.parseInt(reader.readLine());
int tailLength = Integer.parseInt(reader.readLine());
и только потом проверяешь, было ли в первой что-то.
0
Карина
Уровень 12
28 января 2022, 10:27
ок, попробую переделать, спасибо..
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush