Advertisement
Adeptius

Untitled

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