JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Валидатор не пропускает. Пишет: Метод attack должен возв...
Antonina Pitertseva
2 уровень
  • 25.08.2022
  • 278просмотров
  • 3комментариев

Валидатор не пропускает. Пишет: Метод attack должен возвращать BodyPart.CHEST в некоторых случаях.Что не так?

Вопрос по задаче Битва роботов
Java Core,  3 уровень,  11 лекция
Обсуждается


Для начала разберись в том, что делает код: это будет непросто.
Затем измени код согласно новой архитектуре и добавь новую логику:

  1. Сделай класс AbstractRobot абстрактным, вынеси логику атаки и защиты из Robot в AbstractRobot.
  2. Отредактируй класс Robot, учитывая AbstractRobot.
  3. Расширь класс BodyPart новой частью тела BodyPart.CHEST("грудь").
  4. Добавь новую часть тела в реализацию интерфейсов Attackable и Defensable (в классе AbstractRobot).

Требования:
  • Класс AbstractRobot должен быть абстрактным.
  • Класс AbstractRobot должен реализовывать интерфейсы Attackable и Defensable.
  • Класс Robot должен наследоваться от класса AbstractRobot.
  • Логика поведения роботов должна быть вынесена в класс AbstractRobot.
  • В классе BodyPart должна содержаться и быть инициализирована final static переменная CHEST типа BodyPart.
  • Новую часть тела (BodyPart) нужно добавить в логику методов attack и defense в классе AbstractRobot.
package com.javarush.task.task13.task1328; public class Robot extends AbstractRobot { public Robot(String name) { super(name); } }
0
Комментарии (3)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Antonina Pitertseva
Уровень 2
26 августа 2022, 15:04
Спасибо, получилось. Валидатор принял
0
Ольга Шупортяк
Уровень 36
26 августа 2022, 13:15
Дійсно, замість else if (hitCount == 4) потрібно просто else.
0
Никита Небольсин
Уровень 31
25 августа 2022, 19:50
Неправильно заданы условия и изначальный код программы, который сбивает с толку. Вместо else if (hitCount == 4) необходимо вставить else Чтобы при hitCount больше или равном 4 переменная hitCount обнулялась. Иначе при запуске программы будешь видеть null, null
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush