Прайсы 2

  • 10
  • Недоступна
CrUD для таблицы внутри файла Считать с консоли имя файла для операций CrUD Программа запускается с одним из следующих наборов параметров: -u id productName price quantity -d id Значения параметров: где id - 8 символов productName - название товара, 30 chars (60 bytes) price - цена, 8 символов quant
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (159)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Александр22 уровень, Санкт-Петербург
3 июня, 22:16
Две чудесные задачи, которые довели меня до Rage [CTRL]+[c],[CTRL]+[v] А потом, контрольным в голову было то, что отличие "верного" и "неверного" варианта в том, что FileInputStream/FileOutputStream - плохо, а FileReader/FileWriter - хорошо
22 мая, 08:13
Читаю комментарии и ужасаюсь... Доп.классы, парсинг в Дабл, СтрингБафферы... Зачем это всё? Из того чему нас уже научили я сделал так: Прочитал с консоли имя файла. Если аргументов > 0 и нулевой аргумент -у или -д то открываем поток для чтения. Пока есть непустые строки читаем строку, парсим первые 8 символов и отбрасываем пробелы, если она совпадает с первым аргументом, смотрим какой был нулевой аргумент, если -у, заменяем строку на нужную, если -д делаем континуе. Добавляем строку в аррэйлист. Конец цикла, закрываем поток чтения. Открываем поток на запись, если строка первая просто добавляем строку из аррэйлиста, если не первая, то сперва добавляем ньюлайн, делаем это пока есть элементы. Закрываем поток записи. Всё, 35 строк кода...
Hexronimo20 уровень
21 мая, 20:04
Интересно, если записать BufferedWriter в ресурсах, вот так:
try (
BufferedReader br = new BufferedReader(new FileReader(filename));
BufferedWriter bw = new BufferedWriter(new FileWriter(filename))) {
...
} catch(IOException e) {}
даже если нигде в коде нет метода .write() и вообще bw не используется, он все равно сразу стирает содержимое файла.
Сергей25 уровень, Минск
31 мая, 22:53
Похоже что да
Константин19 уровень
13 мая, 19:22
11 попыток. 2 дня. И куча допущенных ошибок...
Павел Олейник24 уровень, Иркутск
27 мая, 11:12
Вообще трэш какой-то :-) Особенно когда после четырех-пяти неудачных попыток заходишь в комменты и видишь что-то вроде "Решил в полторы строки за две минуты, прихлебывая пивко, не понимаю, чего вы тут разворчались", хочется просто включить миксер да в глазницы :-Р
RMuskovets34 уровень, Львов
1 мая, 15:48
https://javarush.ru/help/19746 Помогите
fedor20 уровень, Москва
26 апреля, 19:00
в этой задаче приведения типов не нужны. делал на основе
Map<String, String> map = new LinkedHashMap<>()
наполнял мапу исходя из значения ключа args[0] : если -d пропускам запись bufferedReader1.readLine() если -u пишем в мапу args[1+], предварительно нормализовав поля (наполнение пробелами) когда пишем в файл, считаем шаги, на последнем шаге не дописываем символы перевода каретки и переноса строки
bufferedWriter.write((byte) 13);
bufferedWriter.write((byte) 10);
MrKermit20 уровень, Москва
23 апреля, 08:54
Решил с 10 попыток, в условии не указано что название товара надо делить помимо заглавных букв еще и цифрами. Задаче жирный минус!
Владлен22 уровень, Санкт-Петербург
20 апреля, 12:12
У кого сложности с записью в тот же файл(и кто делает через ArrayList), подсказка: сначала откройте поток записи без тру, затрите информацию, закройте и сразу откройте поток с append: true.
Den Nonamed19 уровень
14 апреля, 20:33
Я делал через StringBuilder и при считывании файла построчно прямо в цикле while подменял строку той, которой мне надо, кто еще так делал?
MrKermit20 уровень, Москва
23 апреля, 08:43
Я так делаю, не работает. При запуске программы с параметрами "-u id productName price quantity" должна обновится информация о товаре в файле. Информация обновляется, но разработчики явараш с валидатором считают иначе
Владимир20 уровень, Москва
27 апреля, 19:52
Я делал через StringBuffer (можно и через StringBuilder для этой задачи не важно), все работает. только условие в задаче не "-u id productName price quantity", а "-u id " я тоже из-за невнимательности получил пару попыток от валидатора, плюс забыл еще закрыть потом поток
Владимир20 уровень, Москва
27 апреля, 19:55
сори, "-u id productName price quantity" перепутал с "-d id", а так все верно, все работает
katfald20 уровень, Киев
6 мая, 15:18
У меня аналогичная проблема. Все отлично пишеться в файл, но валидатор ругается. Как вам удалось справиться?
NewBuy23 уровень, Санкт-Петербург
9 апреля, 16:50
Странно. Задача прошла тестирование и с другим файлом работает нормально, но при первом тестировании почему-то при записи первой строчки в файл туда добавился какой-то лишний байт, хотя в файле он не отражается, но при попытке преобразовать ID из первой строки в int через Integer.parstInt() выбрасывает ошибку NumberFormatException Хотя в файле ничего перед цифрами нет: И при последующем копировании текста файла в другой файл и многочисленных тестов с ним ничего такого не происходило. Что за хрень?
Den Nonamed19 уровень
14 апреля, 20:30
У мня такое было тоже. Возможно это спецсимвол начала файла. Я поборол через replaceAll("\\D+","");
RMuskovets34 уровень, Львов
1 мая, 14:40
Это BOM, спецсимвол, который показывает, сколько символов UTF-8 в файле