Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level19.lesson08.task03;
- /* Выводим только цифры
- В методе main подмените объект System.out написанной вами ридер-оберткой по аналогии с лекцией
- Ваша ридер-обертка должна выводить только цифры
- Вызовите готовый метод printSomething(), воспользуйтесь testString
- Верните переменной System.out первоначальный поток
- Вывести модифицированную строку в консоль.
- Пример вывода:
- 12345678
- */
- import java.io.ByteArrayOutputStream;
- import java.io.PrintStream;
- public class Solution {
- public static TestString testString = new TestString();
- public static void main(String[] args) {
- PrintStream originalOut = System.out;//сохраняем оригинальный System.out
- ByteArrayOutputStream bAOS = new ByteArrayOutputStream();//создаем динам. массив
- PrintStream stream = new PrintStream(bAOS);//создаем адаптер к классу PrintStream
- System.setOut(stream);//устанавливаем адаптер как текущий out
- //теперь печатает в bAOS
- testString.printSomething();//out добавляет строки в bAOS
- String result = (bAOS.toString()).replaceAll("[^0-9.]", "");
- //переводим bAOS в String и replaceAll
- System.setOut(originalOut);//возвращаем оригинальный out (на консоль)
- System.out.println(result);//выводим в консоль (то, что result получил из bAOS)
- }
- public static class TestString {
- public void printSomething() {
- System.out.println("it's 1 a 23 text 4 f5-6or7 tes8ting");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement