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

  • 16
  • Недоступна
Если упорядоченный изоморф не уверен в трезвости другого упорядоченного изоморфа, он просит его пройти простенький тестик: сначала ввести имя файла с консоли, прочитать из него набор чисел, а затем вывести на консоль только четные, отсортированные по возрастанию. Получится?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (535)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Азамат Инженер-мостовик
16 сентября, 10:00
Решил практически также как в правильном решении, но валидатор пишет, что содержит слишком много строк😡И выводит все правильно
NikZz
Уровень 16, Пермь, Россия
13 сентября, 07:51
"Программа должна вывести на экран все четные числа, считанные из файла, отсортированные по возрастанию." - тут не понятно, что нужно ВЫВОДИТЬ ПО ОДНОМУ ЧИСЛУ С НОВОЙ СТРОКИ. Час сидел и тупил, все работает, выводит, правда в одну стоку, через пробел ))
Андрей
Уровень 15, Москва
3 сентября, 13:04
для усложнения задачки и закрепления темы по исключениям, попробуйте ловить исключения, если в файле будут буквы и другие символы, которые нельзя перевести в инт) а так задачка сама по себе отличная, благодаря ей смог разобраться в теме P.S. пришлось очень много гуглить)
zuas
Уровень 28, Нижний Новгород, Россия
16 августа, 17:33
при использовании цикла for(var x: list) в конце для печати коллекции валидатор почему-то ругается на var (хотя в IDE все норм), если поменять на Integer, то все ок
Iskander
Уровень 26, Санкт-Петербург, Россия
14 августа, 11:25
Даже интересно зачем тут FileInputStream. Задача решается за 5 минут без него. У кого просит именно его. Советую просто создать объект и передать в него путь, что бы он отстал и принял решение. Вот так:
try (FileInputStream fileInputStream=new FileInputStream(path))
       {

       }
       catch (IOException E)
       {
           E.printStackTrace();
       }
В дальнейшем я его нигде не использовал, так как файл считываю, как символы, а не как байты.
Serg
Уровень 30, Санкт-Петербург
27 августа, 19:36
try(FileInputStream in = new FileInputStream(new Scanner(System.in).nextLine()); InputStreamReader input = new InputStreamReader(in); BufferedReader reader = new BufferedReader(input)){ Тут от нас хотят видимо цепочку потоков.
Евгений Халин
Уровень 30, Харьков, Украина
13 августа, 07:05
Как же она меня достала!)))) Но замучал её! Слава Богу! Едем дальше...
Максим Глотов
Уровень 33, Новосибирск
11 августа, 09:03
Сложнее всего вспомнить, как считывать строки - напрямую из FileInputStream (именно он в условиях задачи) нельзя. Также по коллекциям теорию пришлось вспоминать - сразу пришло на ум решение именно с коллекциями, т.к. у них есть и сортировка, и динамический размер.
Aleksey Erohovets
Уровень 22, Израиль
2 августа, 18:53
Решил через BufferedReader и FileReader самое быстрое и простое :)
Vladimir
Уровень 15, Нижний Новгород, Россия
27 августа, 13:31
А как валидатор пропустил, если там InputStream нужен?
Евгений
Уровень 21, Саратов, Россия
31 июля, 22:14
Решил в пару строк затолкав окольными путями нужный нам поток FileInputStream в BufferedReader. Кодировки душат нереально. С UTF-8 строка тупо не парсится в int, просто выкидывает с NumericFormatExeption даже если 0 пытаюсь распарсить. С ANSI все идеально, пока речь не заходит от вытаскивании из файла кириллических символов (не в этой задаче, но все же). Как только - так сразу крокозябры. И как дышать?
Method
Уровень 25, Днепр
28 июля, 21:08
долбаные кодировки, плюнул решил через сканер в 16 строчек, чего и вам советую)