Сортировка четных чисел из файла

  • 16
  • Недоступна
Если упорядоченный изоморф не уверен в трезвости другого упорядоченного изоморфа, он просит его пройти простенький тестик: сначала ввести имя файла с консоли, прочитать из него набор чисел, а затем вывести на консоль только четные, отсортированные по возрастанию. Получится?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (451)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Павел 16 уровень, Минск
17 ноября, 12:53
FileInputStream file = new FileInputStream(reader.readLine());
BufferedReader bfile = new BufferedReader(new InputStreamReader(file));
А дальше построчно считываем файл, парсим с помощью Integer.parseInt(), проверяем на % 2, и закидываем в список. Ну а сортировать список и выводить его элементы на экран к этому этапу уже все умеют 😜
Vadim Zakirov 15 уровень, Челябинск
22 ноября, 14:26
BufferedReader требует чтобы file был типом Reader
Диана Баязитова 23 уровень, Оренбург
5 ноября, 16:58
Может я уникальный случай альтернативно одаренного человека, но вот совет: Сначала все четные собираете в try, а сортировку полученного листа и печать делаете за этим циклом в main.
endurance2296 16 уровень, Киев
22 октября, 21:46
Вместо FileInputStream можно использовать FileReader: BufferedReader reader2 = new BufferedReader(new FileReader (reader.readLine)); Результат тот же, но валидатору не нрав(
Vitalii Priadko DevOps в MedeAnalytics
30 октября, 06:58
Понравится валидатору вот так: BufferedReader rd = new BufferedReader(new InputStreamReader(new FileInputStream(fileName))); в условиях же написано: 2. Программа должна создавать FileInputStream для введенной с консоли строки. Меня интересует другое, в "посмотреть правильное решение" используют сканер. Хотя сканер рекомендуется использовать для парсинга ввода с консоли и не совсем рекомендуется использовать для чтения из файлов.
Максим Дудин 16 уровень, Калининград
13 октября, 18:43
там и не смог разобраться "что конкретно нужно".close() поэтому закрыл оба все потоки через try-with-resource try(BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BufferedReader reader2 = new BufferedReader(new InputStreamReader (new FileInputStream(reader.readLine())))) // ввод с консоли адреса файла // вычитка из файла сразу строками т.е. всё преобразовано в String //(Не нужно разбираться с пробелами char)
Максим Дудин 16 уровень, Калининград
12 октября, 21:19
всё как всегда решил ( поборол и байты и строки) 4часа.. вывел прям как в примере (понятно, что отсортировал) закрыл через try-with-resource и ... не прошел проверку - нет вывода - слишком много строк - не закрыт потом печаль... опять придётся списывать с комментов
5 октября, 19:58
Для задачи на сортировку пригодится код из этого вопроса.
DZ 30 уровень
27 сентября, 04:40
Прочитав вступление к задаче, сразу принялся решать по такой схеме: 1) Через BufferedReader читаем название файла 2) Потом через FileReader прочитал файл и распихал его строки по ArrayList'y 3) С помощью Collections.sort () отсортировал 4) Потом в цикле, проверяя, чтобы остаток от деления был равен нулю, вывел всё это добро на экран - Ай, да я молодец, - подумал я - с первого раза решил задачу и без ошибок. - А не соблаговолишь ли ты, друг мой, прочитать условия задачи, - придержал коней валидатор. Я прочитал и увидел, что надо было всё делать через FileInputStream ... Так не хотелось ломать то, что написал. Пришлось впихнуть вот это чудо прям сразу после чтения имени файла:
FileInputStream aaa = new FileInputStream (s);
aaa.close ();
Обманул валидатор ... Надеюсь, он не обидется.
Сергей Марченко 17 уровень, Запорожье
28 сентября, 11:32
В доме есть лифт, но нас заставляют идти по ступенькам.
ProgX 18 уровень, Саратов
14 октября, 07:04
Как в шаолиньском монастыре нужно пройти всё с озов и привыкнуть к мучениям)
aleksdenni 22 уровень, Полтава
21 октября, 14:32
В BufferedReader , если вместо (System.in) (чтение с консоли ) , поставить (new FileInputStream(in.readLine())) (чтение с файла) , тоже будет работать . И валидатор примет))😸 Сделал так же как и Вы , за исключением костыля, и тоже со второго раза (по той же причине) ))) Также, я в лист добавлял при чтении, после проверки %2==0 .
Zechel 15 уровень, Иерусалим
19 сентября, 20:59
Решаю задачу в Intelij и не вижу ни ввода ни вывода на консоль. С чем это может быть связано?
Илья 24 уровень, Санкт-Петербург
20 сентября, 13:09
ну для начала, есть ли у тебя этот файл?) дальше смотри когда у тебя поток начинает работать с файлом, закрыл ли предыдущий поток который работал с этим файлом
Гелугон 16 уровень
19 сентября, 16:14
При чтении с файла перед первым числом считывается непонятный символ, из-за которого возникает ошибка. Exception in thread "main" java.lang.NumberFormatException: For input string: "5"
Alexander 14 уровень, Бердянск
17 сентября, 21:45
Каким бы способом вы не решили эту задачу, не забудьте закрыть потоки 😁