Привет.
Задача хорошая. Решил, протестил.
Валидатор не принимает из-за 7-го требования.
А именно 7. Метод main(String[] args) класса Solution должен вызывать метод printSomething(),объекта testString.
Но я ведь явно вызвал у объекта testString метод printSomething();
Баг Валидатора, или я чего-то не вижу?
package com.javarush.task.task19.task1927;
/*
Контекстная реклама
*/
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
public class Solution2 {
public static TestString testString = new TestString();
public static void main(String[] args) {
PrintStream backedUp = System.out;
ByteArrayOutputStream wrapper = new ByteArrayOutputStream();
PrintStream changedStream = new PrintStream(wrapper);
System.setOut(changedStream);
testString.printSomething();
String printed = wrapper.toString();
System.setOut(backedUp);
String ads = "\n" + "JavaRush - курсы Java онлайн";
StringBuffer stringBuffer = new StringBuffer();
int border = 0;
int counter = 0;
for (int i = 0; i < printed.length(); i++) {
if (printed.charAt(i) == '\n') {
counter++;
if (counter % 2 == 0) {
stringBuffer.append(printed.substring(border, i));
stringBuffer.append(ads);
border = i++;
}
}
}
stringBuffer.append(printed.substring(border, printed.length() - 1));
System.out.println(stringBuffer);
}
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");
}
}
}