Прайсы

  • 20
  • Недоступна
CrUD для таблицы внутри файла. Считать с консоли имя файла для операций CrUD. Программа запускается со следующим набором параметров: -c productName price quantity Значения параметров: где id - 8 символов. productName - название товара, 30 символов. price - цена, 8 символов. quantity - количе
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (605)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Artem K. 20 уровень, Москва
суббота, 23:09
Хороша была задача) решили всего 11824 Для формирования добавляемой строки рекомендую посмотреть в сторону String.format(); Зачем-то прикрутил сразу запись в HashMap всего прайса, добавление туда (в HashMap) новой строки и вывод потом последнего добавленного элемента в файл, а можно было не заморачиваться. Но что-то подсказывает, что уже в следующей задаче это может пригодиться.
Илья 19 уровень, Дзержинск
23 октября, 10:39
Потрясающая задача! 6-7 часов потратил, но оно того стоит, так как это уже что-то из реальной жизни. Побольше бы таких задач! Спасибо)
JF 20 уровень
22 октября, 12:31
Когда на финише добавляете строку в файл сформируйте так : перенос строки + строка ( String newString = "\n"+ sb.toString();). Наоборот валидатор не примет. Сутки моей жизни ушло на эту задачу, но это того стоило.
Timas Software Developer
23 октября, 08:44
3 попытки ушло на это. Потом полез сюда смотреть, и вуаля) В итоге 4 попытки 😊
Dmytro Yantsybaiev 19 уровень, Киев
понедельник, 12:51
можно ещё вот так:
fis.write(10); // символ переноса
fis.write(result); // записываем нашу строку
Денис Шелест 19 уровень, Санкт-Петербург
20 октября, 17:33
Либо я туплю, либо условие неполное. Вот если первый аргумент "-с", то мы добавляем новую запись в файл. С этим понятно. А если первый аргумент ID, что делать-то надо?
Ягодин Артем Романович 19 уровень, Москва
21 октября, 07:41
ID не первый аргумент, id создает программа и вменяет объекту как порядковый номер для записи в файл.
Сергей 20 уровень, Санкт-Петербург
18 октября, 10:22
Для тех кто только приступил к задаче, хотелось бы написать пару советов: 1. Используйте FileReader, FileWriter, BufferedReader 2. Проверяйте не передаются ли пустые аргументы (args.length) 3. Для тестирования аргументы можно задать нажав правую кнопку мыши на классе и выбрав Edit 4. Аргумент из несколько строк можно записать в кавычках и будет один аргумент. 5. Писать нужно каждый раз с новой строки, не после старой, а в каждую новую добавлять ("\n"). 6. Необходимо искать наибольший id во всем файле. 7. Используйте форматирование строк (substring, trim). 8. Не забудьте округлить до нужного количество символов или отрезать лишние.
diledsys 19 уровень, Хайфа
17 октября, 19:00
у кого иероглифы на русский, можно так ,валя принимает такое fileWriter.write(stringProduct.getBytes(StandardCharsets.ISO_8859_1));
diledsys 19 уровень, Хайфа
17 октября, 18:57
весь день потратил, первый раз такая попалась, два раза переписывал, но спасибо за такую задачку, потренировался не плохо
Sergey 20 уровень, Минск
16 октября, 16:14
Хочу выразить своё восхищение теми, кто вообще решил эту задачу. У меня был полный ступор и я 2 часа вообще не мог понять как к ней подступиться и хотя бы корректно считать параметры. В итоге смотрел готовое решение, разбирал реализацию и пробовал писать, потом всё стирал и писал с нуля. На 4-й раз появилась надежда, что похожую задачу я решить смогу.
ElenaSt 23 уровень
17 октября, 13:53
Я уже 125-й раз к ней возвращаюсь и все никак не могу решить сама. Эх.
Sergey 20 уровень, Минск
18 октября, 19:26
Я не жалею, что посмотрел решение и разобрал его досконально. Это меня обогатило большим количеством новых знаний. Там дальше было продолжение задачи на CrUD и его я уже сделал сам, не подсматривая.
Vadim 19 уровень
14 октября, 22:45
выбивало ошибку по 3 условию, хотя было написано: "if (args.length != 0 && args[0].equals("-c"))". заменял и на "args.length > 0" и на "args.length == 4", все равно была ошибка. В итоге прошла задача после того, когда вынес закрытие потоков из этого "if (args.length != 0 && args[0].equals("-c")){ }".Хотя ранее старался закрывать сразу поток, когда он уже не нужен. Итого лишних 8 попыток
Alexandr Grishin 23 уровень, Саранск
14 октября, 16:54
Написал 2 метода. Один для нахождения максимального id в файле. Второй использовал стрингбилдер из параметров запуска согласно условию. Не с первого раза но работает. Еще полгода назад и подумать не мог написать такой код.