CRUD

  • 18
  • Недоступна
CRUD - Create, Read, Update, Delete. Программа запускается с одним из следующих наборов параметров: -c name sex bd -r id -u id name sex bd -d id
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (796)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Игорь Team Lead
позавчера, 10:33
Задача довольна интересная, много мест для потенциальных ошибок и наработки опыта. Нужно очень внимательно читать задание. Давайте задумаемся, что будет с вашим "отличным" решением, которое принимает валидатор, если вы дадите на вход программе исходные данные из списка "Петров Петр м 25-Sep-2022", например:
-c Иванов Иван м 13/01/2002
milniy87
Уровень 18, Ukraine
20 сентября, 23:22
Задача не сложная, но эти даты... Класс персон хранит дату. А для ввода даты и вывода ее в консоль нужно прогонять эту дату через стрингформат. А так отличная задача!)
Noulayfer
Уровень 29
15 сентября, 14:16
Сколько же я мучался в этой задаче просто потому что не мог понять че не так с Date. Потом вспомнил что, когда мы выводим че то в консоль через sout, автоматом вызывается toString, кликнул чтобы посмотреть на реализацию этого метода в классе Date и все понял... Это ужасно. Не повторяйте моих ошибок!
Pavel V.
Уровень 28, Russian Federation
12 сентября, 01:07
С 5 попытки, из-за того, что моя кодировка отличалась от кодировки валидатора, и он не принимал. А я сидел, тупил, что же не так сделано, все ж правильно! Но это пол беды, потратил еще несколько часов на то, чтобы разобраться в технической части, т.к. из-за той же кодировки у меня не работал метод equals, из-за чего не работал оператор If , и его тело игнорировалось. В общем, и целом, задача то неплохая, но у меня сильно сгорела нижняя часть спины из-за вышесказанного.
Роман мастер-энергетик
8 сентября, 13:21
По началу задача показалась супер сложной, решил отложить про решал все другие кроме CRUD 2 Вернулся к этой, оказалось всё проще, самая сложность было вспомнить как работать с SimpleDateFormat. Вторая ошибка прям бесившая, это с первом условие выводить индекс человека, по тупизне своей выводил в консоль просто размер списка, хотя нумерация то с нуля, и нужно было отнимать единицу... Вот может кому поможет по SimpleDateFormat
final String OLD_FORMAT = "dd/MM/yyyy";
       final String NEW_FORMAT = "yyyy/MM/dd";

       String oldDateString = "12/08/2010";
       String newDateString;

       SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
       Date d = sdf.parse(oldDateString);
       sdf.applyPattern(NEW_FORMAT);
       newDateString = sdf.format(d);
или самый простой вариант
Date dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(bd);
hint1k
Уровень 32
1 сентября, 07:01
Человеку, который писал условия к этой и следующей задаче надо оторвать руки и бить этими руками до тех пор, пока не научится грамотно писать условия задач. Потому что 80% потраченного времени на решение - это попытка понять что этот идиот хочет от кода программы.
Стас
Уровень 30, Уфа
30 августа, 16:18
Задача клёвая, но так и не понял, как же запустить её из командной строки. Из идеи всё норм, валидатор решение принял. Как запускать Java программу из командной строки не помогла, хотя самая полезная, на мой взгляд.
Kenor
Уровень 28, Москва, Russian Federation
19 августа, 15:19
Спасибо тем кто комментирует, без вас бы скорее всего не справился!
Fura_IZI
Уровень 34, Ukraine
17 августа, 20:34
Кто-нибудь может объяснить, почему так коряво работает if-else в switch? Задача по условию не сложная, но нервотрепка еще та
Богдан
Уровень 18, Россия
8 августа, 23:07
Серьёзно так себе усложнил задание и решил всё через regex-ы 😂😎😎
String arguments = String.join(" ", args);
Pattern p = Pattern.compile("(^| )(?<param>-[crud])( (?<id>\\d{1,5}))?( (?<name>([^ ,]{1,1000})( [^ ,]{1,1000}){0,2}) (?<sex>м|ж) (?<bd>(?<D>[0-3]\\d)/(?<M>0\\d|1[0-2])/(?<Y>(19|20)\\d{2}))($|,))?");
Matcher m = p.matcher(arguments);
И дальше работал не с аргументами, а с матчерном, который парсил строку, полученную из аргументов. Таким образом входных данных может быть сколько угодно записанных подряд, а не только 1 раз один из 4 случаев))