Advertisement
jaVer404

level19.lesson10.home09(done)_1attempt_not bad

Feb 26th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.08 KB | None | 0 0
  1. package com.javarush.test.level19.lesson10.home09;
  2.  
  3. /* Контекстная реклама
  4. В методе main подмените объект System.out написанной вами реадер-оберткой
  5. Ваша реадер-обертка должна выводить на консоль контекстную рекламу после каждого второго println-а
  6.  
  7. Вызовите готовый метод printSomething(), воспользуйтесь testString
  8. Верните переменной System.out первоначальный поток
  9.  
  10. Рекламный текст: "JavaRush - курсы Java онлайн"
  11.  
  12. Пример вывода:
  13. first
  14. second
  15. JavaRush - курсы Java онлайн
  16. third
  17. fourth
  18. JavaRush - курсы Java онлайн
  19. fifth
  20. */
  21.  
  22. import java.io.ByteArrayOutputStream;
  23. import java.io.PrintStream;
  24.  
  25. public class Solution {
  26.     public static TestString testString = new TestString();
  27.  
  28.     public static void main(String[] args) {
  29.         PrintStream originalOUT = System.out;
  30.         ByteArrayOutputStream bAOS = new ByteArrayOutputStream();
  31.         PrintStream stream = new PrintStream(bAOS);
  32.         System.setOut(stream);
  33.         testString.printSomething(); //Завели все в ByteArrayOutputStream outputStream
  34.         String origString = bAOS.toString();//все ложим в одну строку
  35.         String [] splited = origString.split("\\r?\\n");//разделяем на строки и ложим в массив
  36.         for (int i = 0; i<splited.length;i++) {
  37.          originalOUT.println(splited[i]);
  38.             if(((i+1)%2)==0) {
  39.                 originalOUT.println("JavaRush - курсы Java онлайн");
  40.             }
  41.         }
  42.         System.setOut(originalOUT);
  43.     }
  44.  
  45.     public static class TestString {
  46.         public void printSomething() {
  47.             System.out.println("first");
  48.             System.out.println("second");
  49.             System.out.println("third");
  50.             System.out.println("fourth");
  51.             System.out.println("fifth");
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement