Прайсы 2

  • 20
  • Недоступна
CrUD для таблицы внутри файла Считать с консоли имя файла для операций CrUD Программа запускается с одним из следующих наборов параметров: -u id productName price quantity -d id Значения параметров: где id - 8 символов productName - название товара, 30 chars (60 bytes) price - цена, 8 символов quant
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (346)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Е К 18 уровень, Краснодар
понедельник, 22:10
Решил с 1й попытки. Но, после изучения примера правильного решения, понял что(как тут кто-то выразился) я неплохо таки наговнокодил)) Зато есть к чему стремиться Крутим педали дальше🚴
Виктория 19 уровень
воскресенье, 11:03
После того как решила задачу, стала смотреть правильное решение Javarush, и совсем не поняла как происходит обновление по их коду...Кто-нибудь понял?
Е К 18 уровень, Краснодар
понедельник, 22:06
Тоже не понял сразу 🤯. Потом потестил таким макаром - навставлял таких вот меток с разными индексами:
System.out.println("1"+ '\n' + products);
Ставил их в места после изменения productToUpdate. И сделал в конце - перед break; ещё одно изменение одного из полей productToUpdate - name, к примеру и метка печати. Итого. Догнал, что случилось присвоение ссылке productToUpdate типа Product объекта product из списка products, который имеет искомый id. Так как список products состоит из объектов, то мы создали внешнюю ссылку на один из элементов этого списка. И получилось, что мы можем теперь обращаться\менять этот элемент двумя способами: - через индекс и методы списка - через ссылку productToUpdate Спасибо за вопрос! Сам бы не додумался до такого лайфхака)) И без этого коммента не полез бы в готовое решение. А так взял на заметку и вооружение такой способ работы со списком
Виктория 19 уровень
вторник, 18:11
Спасибо за ответ! Теперь поняла😊
Clition Программист 1С сможет в Java
24 ноября, 19:29
в отличии от прошлой задачи про прайс, в этой решил использовать не процедурный, а объектный подход. код немного разросся. но с объектами работать все-таки поудобнее, да и покошернее.
Павел студент на стероидах в Java Syntax Pro beta
19 ноября, 15:13
Сначала ему видите ли апдейт мой не нравится, ну "подумоешь" про-бел не с той стороны прикрутил, а потом выясняется что ему порядок строк ещё нужно сохранить... сразу нельзя было сказать? В целом эта задача менее бессмысленная чем её предшественик просто Прайсы, весь смысл которой понять и потренироваться что на вход программы будет подавать валидатор, чтобы уже осознано решать эту. Кстати, почему-то не встречал в коментах чтобы для вывода использовали PrintWriter - очень удобно, вся отладка делается выводом в консоль, а потом подставляется этот ПринтВратель )
try (PrintWriter pw = new PrintWriter(crudFile)) {
            id.forEach((k, v) -> pw.printf("%-8d%-42s\n", k, v));
}
id это линкед-хеш-меш, а k и v это id продукта и вся остальная строка с описанием ценами и остатками соответственно
Артур Прохоренко 19 уровень, Гомель
19 ноября, 14:32
Меня все время мучал вопрос, а если бы id были не уникальны, ведь было бы еще интересней)))
Aleksandr 20 уровень
4 ноября, 07:24
С 10й попытки решил, и-то 8 попыток ушло на то чтобы удовлетворить этот отсталый валидатор ,потому что он не знает ,что в конструкции вида "Files.readAllLines(new File(fileName).toPath(), Charset.defaultCharset());" поток закрывается автоматически. Сама то задача интересная, если б не такие косяки вали. Всего эту задачу решили 11008 учеников.
Сергей 19 уровень, Москва
3 ноября, 12:32
Аахахах еще и ровно 11 тысячный ) Вы решили задачу лучше, чем 54% учеников. Вам удалось ее решить с 1 попытки. Среднее количество попыток для этой задачи 3.64. Всего эту задачу решили 11000 учеников. Короче ушло 4 часа но только на то что бы сделать так же как предыдущую. Т.е пытался не перезаписывать файл, а вычислять номер нужного символа и после него вставлять. Использовал класс RandomAccessFile но в итоге понял что это все херобора. Удаление и вставка на место иной строки это перезапись всего файла. А раз так так то все очень просто - все дела сделать через коллекции массивов и подготовленный массивы уже перезаписал в файл.
Евгения 20 уровень, Минск
7 ноября, 12:37
ух сколько вы мне времени сэкономили))) сэнкс😀
VioletJam 20 уровень, Красноярск
2 ноября, 08:10
ч/з OutputStreamWriter не пускает валидатор, ч/з FileWriter - спокойно
Александр 19 уровень, самара
26 октября, 18:16
ХЕЛП!! Задачу решил с хз какой попытки из-за ерунды.не суть. Но сам тестил файл, в нем ничего не обновляется и не удаляется???? Где подвох???
Dmytro Yantsybaiev 19 уровень, Киев
27 октября, 10:38
Ты бы хоть код свой скинул.
Pig Man Главная свинья в Свинарнике
5 ноября, 11:10
Настоящий программист поймет другого и без лишнего кода
Dmitry Guryev 19 уровень, Нижний Новгород
22 октября, 18:19
😀я собой доволен))) задача класс))) ушёл в дебри стримов +наконецто использовал по назначению regex. ☺️☺️☺️ кто красавчег)) я красавчег)))
Dmytro Yantsybaiev 19 уровень, Киев
27 октября, 10:33
Зачем здесь регулярки? У тебя же все параметры и так разбиты и находятся в массиве args)