JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Почему то не проходит проверку Убедись, что действительно...
Roman
18 уровень
  • 14.11.2020
  • 333просмотров
  • 3комментариев

Почему то не проходит проверку Убедись, что действительно человек добавляется в список allPeople.

Вопрос по задаче CRUD
Java Core,  7 уровень,  10 лекция
Архивный

CRUD - Create, Read, Update, Delete.

Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-r id
-u id name sex bd
-d id

Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-c - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-r - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)
-u - обновляет данные человека с данным id
-d - производит логическое удаление человека с id, заменяет все его данные на null

id соответствует индексу в списке.
Все люди должны храниться в allPeople.
Используй Locale.ENGLISH в качестве второго параметра для SimpleDateFormat.

Пример параметров:
-c Миронов м 15/04/1990

Пример вывода для параметра -r:
Миронов м 15-Apr-1990

Если программа запущена с параметрами, то они попадают в массив args (аргумент метода main - String[] args).
Например, при запуске программы c параметрами:
-c name sex bd
получим в методе main
args[0] = "-c"
args[1] = "name"
args[2] = "sex"
args[3] = "bd"
Для запуска кода с параметрами в IDE IntellijIDEA нужно их прописать в поле Program arguments в меню Run -> Edit Configurations.

Требования:
  • Класс Solution должен содержать public static поле allPeople типа List<Person>.
  • Класс Solution должен содержать статический блок, в котором добавляются два человека в список allPeople.
  • При запуске программы с параметром -с программа должна добавлять человека с заданными параметрами в конец списка allPeople, и выводить id (index) на экран.
  • При запуске программы с параметром -r программа должна выводить на экран данные о человеке с заданным id по формату указанному в задании.
  • При запуске программы с параметром -u программа должна обновлять данные человека с заданным id в списке allPeople.
  • При запуске программы с параметром -d программа должна логически удалять человека с заданным id в списке allPeople.
package com.javarush.task.task17.task1710; public enum Sex { MALE, FEMALE }
0
Комментарии (3)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
Уровень 41
14 ноября 2020, 15:29
Если ты добавляешь код к задаче (как нерешённой) то не надо его дублировать в описании задачи. очень неудобно читать вопрос становится. а помогать вообще желание стремится к нулю. это просто на будущее.
static SimpleDateFormat formatterOld = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
static SimpleDateFormat formatterNew = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
так делать не надо. не надо делать такие вещи static. объяви эти переменные там, где надо. у тебя это метод main() разбирать что делать с данным на основе количества аргументов это плохо. тебе не зря входным аргументов args[0] приходит конкретный ключ. в задачах CRUD входное количество аргументов будет разным.
if (countArgs == 4) {
else if (countArgs == 5) {
это всё зачем?
Person person2print = allPeople.get(2);
String sex = "";
if (person2print.getSex().equals(Sex.MALE)) {
    sex = "м";
}
1) а если добавленный человек будет 50м ? причем тут 2? 2) ну будет у тебя sex = "м", что ты с этим будешь делать? индекс последнего добавленного элемента в списке равен как size() - 1
System.out.println(allPeople.size());
0
RomanQA Automation Engineer в EPAM
14 ноября 2020, 15:49
спасибо за быстрый ответ, лишнее убрал, было для дебага) При добавлении вопроса без добавления кода валится ошибка, только после того как добавил код смог добавить сообщение.
0
hidden #2322530
Уровень 41
14 ноября 2020, 15:52
при добавлении вопроса там есть переключатель, включить ссылку на задачу или нет. таким образом подцепится код с задачи весь (со всеми классами, условием и тд) и тогда не надо ничего указывать в описании.
+1
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush