Прайсы 2

  • 20
  • Недоступна
CrUD для таблицы внутри файла Считать с консоли имя файла для операций CrUD Программа запускается с одним из следующих наборов параметров: -u id productName price quantity -d id Значения параметров: где id - 8 символов productName - название товара, 30 chars (60 bytes) price - цена, 8 символов quant
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (284)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Виталий19 уровень, Санкт-Петербург
3 июля, 19:36
Решил по комментарию Евгения Сазикова от 23 мая 2019 г.
Татьяна20 уровень, Ростов на Дону
28 июня, 23:04
И больше даже бесил не валидатор, а ошибка в пункте, в котором у меня была ошибка Очень трудно угодить валидатору, старалась сделать всё красиво, чтоб таблица оставалась таблицей.. Но Валя принял свою версию.. в которой замененная строка и последующая сливаются в одну длинную. Что теперь не проверять на реальных файлах, чтобы не создавать себе же проблем?? Зато можно спокойно идти на 19 уровень
Яков22 уровень, Москва
26 июня, 19:58
10055 :)
halfear19 уровень, Москва
24 июня, 22:27
Кто-нибудь решил через RandomAccessFile?
Andrey Vasilyev22 уровень, Москва
24 июня, 19:53
просто тупо борьба с валидатором.
Vasily Kabakov24 уровень, Северск
18 июня, 12:29
Кто будет 10000м? )) После первого прайса думал, щас за 10 минут быстренько переделаю и готово, хрен то там, два с лишним часа... зато узнал, что BufferWriter сразу при объявлении обнуляет файл, а не в момент записи и что объект BufferedReader нельзя просто так второй раз перечитать🤦‍♂️
Zakhar Kuropiatnyk20 уровень
17 июня, 23:38
Следите за пустой строкой будь она не ладна. Валидатор очень ревностно следит чтобы она не появлялась.
Vitalachka20 уровень, Лондон
16 июня, 19:20
меньше, меньше суток. Ну поспала, поела, кофий хлябнула, ещё поела, между этим покодила и того меньше суток 😂 как только открыла задание совсем не знала как делать. Поискала в инете и выяснила делают 3-мя способами. 1. через листы 2. StringBuffer 3. копия файла я решала с StringBuffer. Много потратила времени на разбор как работает. Внимание! в задание не сказано что обновляемая строка должна остаться на том же месте. Будьте уверены что вы её не пихаете в конец файла.
Vitalachka20 уровень, Лондон
16 июня, 19:22
Ну а это для любителей статистики: "Всего эту задачу решили 9984 учеников."
Станислав20 уровень, Москва
5 июня, 17:22
Не нашел, как сразу в файле сделать изменения. Сделал так: Копируем все строки в лист через BufferedReader, параллельно ищем совпадение по id, используя string.substring(0,8).trim() Потом, в зависимости от первого аргумента, либо удаляем строку list.remove(findedPosition) , либо меняем list.set(findedPosition) И с помощью BufferedWriter записываем обратно.
for (String s : list) writer.write(s+"\n");
Vad24 уровень
2 июня, 19:34
А если пробелы не в листе добавлять, а при сохранении в файл? Вот так: try( BufferedWriter out = new BufferedWriter( new FileWriter( fileName, false))) { for(String row : fileRows) out.write(row+"\n"); } Смотрю на обновлённый файл. Вроде всё в ёлочку. Вот только появляется пустая строка в конце файла.... В прошлом задании валидатор за это не принимал решение. Приходилось "\n" в начало строки ставить. А тут...По идее тот же самый файл обрабатываем. Не плохо бы в задании уточнить, есть в конце исходного файла символ перехода на новую строку или нет? Задачу пока не сдавал на проверку, но, судя по комментариям, валидатор в этом месте может придраться. Может я что -то недопонимаю? P.S. Скормил валидатору решение через StringBuffer, в качестве эксперимента. В конце последней строки "\n" не нужен.