package com.javarush.task.task19.task1927;
import java.io.*;
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) throws IOException {
//запоминаем настоящий PrintStream в специальную переменную
PrintStream consoleStream = System.out;
//Создаем динамический массив
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//создаем адаптер к классу PrintStream
PrintStream stream = new PrintStream(outputStream);
//Устанавливаем его как текущий System.out
System.setOut(stream);
//Вызываем функцию, которая ничего не знает о наших манипуляциях
testString.printSomething();
//Преобразовываем записанные в наш ByteArray данные в правильные строки
String[] subresult = outputStream.toString().split("\r\n");
StringBuffer sb1 = new StringBuffer(subresult[0]);
sb1.insert(subresult[0].length(),"\r\n");
String result = sb1.toString();
for (int i = 1; i < subresult.length; i++) {
StringBuffer sb2 = new StringBuffer(subresult[i]);
sb2.insert(subresult[i].length(),"\r\n");
if (i % 2 == 0) result += "JavaRush - курсы Java онлайн\r\n" + sb2.toString();
else result += sb2.toString();
}
if (subresult.length % 2 == 0)
result += "JavaRush - курсы Java онлайн";
//Возвращаем все как было
System.setOut(consoleStream);
//выводим ее в консоль
System.out.println(result);
}
public static class TestString {
public void printSomething() {
System.out.println("first");
System.out.println("second");
System.out.println("third");
System.out.println("fourth");
System.out.println("fifth");
}
}
}
package com.javarush.task.task19.task1927;
/*
Контекстная реклама
*/
import java.io.*;
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) throws IOException {
//запоминаем настоящий PrintStream в специальную переменную
PrintStream consoleStream = System.out;
//Создаем динамический массив
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//создаем адаптер к классу PrintStream
PrintStream stream = new PrintStream(outputStream);
//Устанавливаем его как текущий System.out
System.setOut(stream);
//Вызываем функцию, которая ничего не знает о наших манипуляциях
testString.printSomething();
//Преобразовываем записанные в наш ByteArray данные в строку
String[] subresult = outputStream.toString().split("\r\n");
StringBuffer sb1 = new StringBuffer(subresult[0]);
sb1.insert(subresult[0].length(),"\r\n");
String result = sb1.toString();
for (int i = 1; i < subresult.length; i++) {
StringBuffer sb2 = new StringBuffer(subresult[i]);
sb2.insert(subresult[i].length(),"\r\n");
if (i % 2 == 0)
result = result + "JavaRush - курсы Java онлайн\r\n" + sb2.toString();
else
result += sb2.toString();
}
//Возвращаем все как было
System.setOut(consoleStream);
//выводим ее в консоль
System.out.println(result);
}
public static class TestString {
public void printSomething() {
System.out.println("first");
System.out.println("second");
System.out.println("third");
System.out.println("fourth");
System.out.println("fifth");
}
}
}