JavaRush /Курсы /Java Core /Задачи на потоки | 9 уровень

Задачи на потоки | 9 уровень

Java Core
9 уровень , 8 лекция
Открыта

— Привет, Амиго!

12
Задача
Java Core, 9 уровень, 8 лекция
Недоступна
Ридер обертка
Ридер обертка
6
Задача
Java Core, 9 уровень, 8 лекция
Недоступна
Ридер обертка 2
Ридер обертка 2
6
Задача
Java Core, 9 уровень, 8 лекция
Недоступна
Выводим только цифры
Выводим только цифры
12
Задача
Java Core, 9 уровень, 8 лекция
Недоступна
Решаем пример
Решаем пример
12
Задача
Java Core, 9 уровень, 8 лекция
Недоступна
Дублируем текст
Дублируем текст
Комментарии (216)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vitalii Diacenco Уровень 38
12 февраля 2026
like
Grey Blog Уровень 20
30 ноября 2025
В задаче Выводим только цифры неправильное четвертное требование требование
Anonymous #3585174 Уровень 33
10 сентября 2025
Like
Dirk Gently Уровень 1
29 июня 2025
Господь сжалился над нами и вернул Easy задачи
Zim4ik Уровень 51
22 июня 2025
Странно что не принял во второй задаче. String result = byteArrayOutputStream.toString().replaceAll("[te]{2,}", "??");
Никита Уровень 1
22 сентября 2025
у вас просто неверное регулярное выражение написано, которое также заменит комбинации ee, tt, et на ??. Достаточно было просто replaceAll("te", "??")
18 июня 2025
Действительно полезные задачи, которые помогли мне понять тему подмены стандартных потоков ввода и вывода с консоли
Antariko Уровень 1
7 февраля 2025
Задачи решил, лёгкие, но...теперь то мне кто-нибудь объяснит где конкретно это применимо?? А то объяснение "Ну можно поменять вывод вместо консоли в файл" не канает. Можно сразу вывести в файл. Или дописать чтобы выводило и в файл и в консоль.
Никита QA Уровень 36
28 апреля 2025
DeepSeek приводит следующие примеры: Перенаправление System.out полезно везде, где нужно: - Тестировать вывод методов, - Логировать консольный вывод, - Подавлять ненужные сообщения, - Модифицировать текст перед выводом, - Анализировать работу сторонних программ. Примеры: 1) Тестирование вывода программы (Юнит-тесты):

@Test
public void testPrintSomething() {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    System.setOut(new PrintStream(outputStream));
    
    testString.printSomething(); // вывод перехватывается
    
    System.setOut(System.out); // возвращаем консоль
    assertEquals("it's a text for testing\n", outputStream.toString());
}
2) Логирование и перехват вывода:

public void runExternalScript() {
    PrintStream originalOut = System.out;
    try {
        ByteArrayOutputStream logBuffer = new ByteArrayOutputStream();
        System.setOut(new PrintStream(logBuffer));
        
        // Запуск внешнего кода
        someExternalLibrary.execute(); // весь вывод идет в logBuffer
        
        // Сохраняем вывод в БД
        database.saveLog(logBuffer.toString());
    } finally {
        System.setOut(originalOut); // гарантированно восстанавливаем консоль
    }
}
Никита QA Уровень 36
28 апреля 2025
3) Мокинг (подмена) System.out в демонстрационных целях:

public static void silentModeDemo() {
    PrintStream originalOut = System.out;
    System.setOut(new PrintStream(new NullOutputStream())); // /dev/null
    
    someNoisyMethod(); // вывод игнорируется
    
    System.setOut(originalOut);
    System.out.println("Шумный метод завершил работу тихо.");
}
4) Парсинг вывода других программ:

ProcessBuilder builder = new ProcessBuilder("cmd", "/c", "dir");
builder.redirectOutput(ProcessBuilder.Redirect.PIPE);
Process process = builder.start();

// Чтение вывода процесса в строку
String output = new String(process.getInputStream().readAllBytes());
5) Кастомизация вывода (например, цветной текст):

public class ColorConsole {
    public static void main(String[] args) {
        PrintStream originalOut = System.out;
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        System.setOut(new PrintStream(buffer));
        
        System.out.println("Ошибка: файл не найден!");
        
        System.setOut(originalOut);
        System.out.println("\u001B[31m" + buffer.toString() + "\u001B[0m");
    }
}
Anonymous #3482594 Уровень 40
14 декабря 2024
ох у эти регулярные выражения, точно их запомним
{Java_Shark} Уровень 36
11 декабря 2024
++
Vita Уровень 28 Expert
5 июля 2024
я точно знаю что могу написать лучше, но конец дня, хочется спать, а если не успеть к полуночи то прогресс обнулится и ачивка не будет получена )
Dr.Alexcemen9 Уровень 51
16 июля 2024
держи в курсе
maxmaxmax Уровень 32
30 июля 2024
могу ошибаться но скорее всего время обновятся в 03:00 по мск, то есть UTC +0
Mikhail Tabakaev Уровень 31
26 сентября 2024
чотка сказано)
Mikhail Tabakaev Уровень 31
26 сентября 2024
all we need is ideal application. all we do is SHITCODE))) IT'S TIME MATTER...