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

  • 16
  • Недоступна
Если упорядоченный изоморф не уверен в трезвости другого упорядоченного изоморфа, он просит его пройти простенький тестик: сначала ввести имя файла с консоли, прочитать из него набор чисел, а затем вывести на консоль только четные, отсортированные по возрастанию. Получится?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (665)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Lafaed
Уровень 20
27 ноября, 12:17
import java.util.List; // Не использовал вобще import java.io.FileInputStream; // Дополнительно импортировал Но всеравно в голове висел вопрос "как записаны числа в файле" (через пробел или с новой строки), в итоге с новой строки подошло. В потоке файла каждую инту проверял на % 2 == 0 и только при соблюдении условия аддил в аррей. Собственно сорт аррей фор инт : арей принт инт
Alyaxandra Iuchyk
Уровень 25
25 ноября, 11:17
А разве в "правильном решении" закрывается стрим где-то, как требуется в условии? 😄 Сделала с try-with-resource, с обработкой исключений и с использованием стримов с лямбдой, протестила файл в содержании которого есть пробелы и буквы, довольная собой сразу открыла ответ, чтобы скопировать ответ и скормить его валидатору, заранее зная, что моё решение ему абсолютно не зайдёт 😄
AlexJavaCore
Уровень 15
19 ноября, 17:03
Решил своими методами все вывелось правильно, но не засчитало, пришлось глядеть в решение
Diar Kassymov
Уровень 26
10 ноября, 11:17
https://javarush.com/groups/posts/1919-schitihvanie-s-klaviaturih--riderih Вот лекция которая забылась в нужный момент. Тут все указано.
Diar Kassymov
Уровень 26
10 ноября, 10:04
FileInputStream - нафига он тут нужен, без него код сам пишется, а когда впихиваешь его, все крашится....
BlackGrizzli Team
Уровень 30
21 октября, 15:14
Интересно, мой код выполняется быстрее чем в правильном решении или нет))
public class Solution {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        String fileName = scanner.nextLine();
        BufferedReader bufferedReader = Files.newBufferedReader(Path.of(fileName));

        List<String> list = bufferedReader.lines().toList();

        list.stream()
                .map(Integer::parseInt)
                .filter(x -> x % 2 == 0)
                .sorted(Comparator.comparingInt(x -> x))
                .forEach(System.out::println);

        scanner.close();
        bufferedReader.close();
    }
}
Если что, javaRush не принимает, но выполняет все как надо!
27 октября, 15:08
На моем ПК что твое решение, что с JR выполняется одинаково за 15-16 мс. Но с JR чаще выдает 15мс.
Benjam1nBTN
Уровень 20
16 октября, 17:05
Я не знаю, что случилось, но задача прям очень легко зашла. Решил за минут 15-20 со второй попытки из-за не такого вывода результата в консоль, как запланировала ЯваРуш. И да, пишу я это, чтобы похвалиться!) Неописуемый кайф, когда начинаешь что-то соображать и даже быстро писать код! Всем желаю терпения, и всё обязательно получиться! (П.С. еще вчера с утра я вообще не мог въехать во все эти инпуты аутпуты ридеры хренидеры)
Dmitry Semenov
Уровень 30
10 октября, 10:24
1. Создать List состоящий из integer 2. Создать экземпляр BufferedReader, в конструктор передать экземпляр InputStreamReader инициированный статической переменной типа InputStream класса System. 3. Прочитать одну строчку и передать ее в качестве параметра при создании экземпляра FileInputStream. 4. Через Scanner, прочитать все Int в потоке fileInputStream, и добавить их в list 5. Закрыть сканер и BufferedReader 6. Создать поток из list, отфильтровать через лямбду все четные, отсортировать и через forEach вывести в консоль. 7.Profit.
Anonymous #2984229
Уровень 32
10 октября, 15:39
Полтора часа ломал голову как из int в байтовом представлении получить нормальные инты. Спасибо!
Tomhetted
Уровень 28
2 октября, 22:01
Задачка перестает быть хард если посмотреть что в импорте. Я читал из буфера построчно, парсил в интегер и сразу добавлял в лист если число четное. Потом сортировал лист с помощью Коллекций. Всё, выводим лист в консоль.
The_Red_Baron43
Уровень 25
24 сентября, 13:01
Что значит "прочитать из него набор чисел"? Типа, я должен в созданный файл с консоли записать рандомные числа, а далее сортировка с проверкой на чётность?