Четные символы

  • 12
  • Недоступна
Считать с консоли 2 имени файла. Вывести во второй файл все символы с четным порядковым номером (нумерация начинается с 1). Пример первого файла: text in file Вывод во втором файле: eti ie Закрыть потоки ввода-вывода.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (219)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Julia Nevazhno
Уровень 26
8 декабря 2021, 10:39
Тут лист вообще не нужен,а просто в цикле читаю символ, но потом его не записываю в файл, а читаю следующий и вот его уже записываю.
smart_engineer
Уровень 34, Россия
9 декабря 2021, 11:35
Я тоже сделал примерно так. И наверное первый раз случилось так, что мое решение мне нравится гораздо больше, чем "правильное".
Сергей Коваленко
Уровень 29, Краснодар
12 января, 12:34
аналогично, три строчки в теле try единственное, что это неэффективно для больших файлов, слишком много обращений
Valeriy
Уровень 30, Киев
25 ноября 2021, 17:39
зачем мне здесь ArrayList? без него программа более оптимизированная и простая, но без него валидатор не пропускает🥲
Элен
Уровень 36, Москва, Russian Federation
7 декабря 2021, 08:49
У меня без ArrayList валидатор пропустил
Sergey Kornilov
Уровень 35, Petropavlovsk, Казахстан
19 ноября 2021, 05:13
Всего эту задачу решили 20709 учеников.
Anonymous #2813264
Уровень 25, Russian Federation
17 ноября 2021, 13:33
Ребят, мб кто знает.. Не в первый раз сталкиваюсь с проблемой, что когда пишешь: for (int i = 1; i < list.size(); i++) { if(list.get(i)%2 ==0) writer1.write(list.get(i)); } get(i) со второй строки иногда мешает get(i) с третьей строки, и в результат не входят некоторые значения, которые должны были войти. Поток то всего один, и следовательно код должен выполняться построчно, что исключает подобное поведение, или нет? P.S Это не решение данной задачи, это костыль, который затем привёл уже к правильному решению:D
Sergey Kornilov
Уровень 35, Petropavlovsk, Казахстан
19 ноября 2021, 05:13
Тут всё понятно. Чётные байты это 2,4,8 и т.д по порядку в файле. Ваш код должен выглядеть так if (i % 2 == 0) fileWriter.write(j); А Ваше условие if(list.get(i)%2 ==0) проверяет чётность кода байта из таблицы ASCII.
Анисимов Андрей
Уровень 27, Москва, Россия
14 ноября 2021, 06:54
Ужасный валидатор, заставляет назвать переменную чтения из консоли bufferedReader, иначе не проходит пункт с закрытием потока
Элен
Уровень 36, Москва, Russian Federation
7 декабря 2021, 08:51
У меня переменная была названа иначе, проблем с этим не возникло
Вадим
Уровень 35, Минск, Belarus
3 января, 13:20
Напоролся на ту же проблему с валидатором. Копировал код из другой задачи и дополнительно обернул FileReader в Buffer. В итоге всё работает, но валидатор не принимает ибо потоки якобы не закрыл.
Александр Поздняков
Уровень 25, тверь, Россия
8 ноября 2021, 19:10
Всего эту задачу решили 20616 учеников.
Александр Работает в ООО
12 ноября 2021, 14:37
Уже 20649 учеников т.е. 33 человека за 4 дня 8,25 человека в день )) javarush пользуется популярностью
Serg
Уровень 36, Санкт-Петербург
31 октября 2021, 12:43
Ввод-вывод из файла осуществляется только с FileReader и FileWriter. При попытке BufferedReader и BufferedWriter валидатор будет писать бред про незакрытые потоки и не засчитывать.
BoKL
Уровень 32, Кременчук, Украина
20 октября 2021, 08:11
Наверное из меня выйдет настоящий создатель костылей 😒
Oleg
Уровень 35, Москва, Russian Federation
30 октября 2021, 15:23
какая грязь, мне нравится)
Sulf8
Уровень 35, Самара, Россия
1 ноября 2021, 03:00
даже и не знаю плюс или минус тут поставить)
Ulysse
Уровень 30
24 ноября 2021, 14:27
какая мерзость, давай еще что-нибудь в таком духе.
Андрей Работает в КАМАЗ
16 октября 2021, 09:21
ему не байты четные нужны, а порядковый номер. то есть считываем первый байт - его в мусорку считываем второй = его пишем в файл. считываем третий - его в мусорку считываем четвертый = его пишем в файл это все в цикл while можно запихнуть.
Алексей
Уровень 32, Москва, Россия
14 ноября 2021, 14:00
чет валидатор не принимает :) хотя из файла в файл нормально пишет
Евгений Т.
Уровень 30, Москва, Россия
16 октября 2021, 06:05
Спасибо комментариям решил с первого раза, изначально тоже не правильно понял условие, благо решил прочесть комменты прежде чем направлять на проверку.