Условие:
В этой задаче необходимо развернуть вывод в обратном порядке с помощью PrintStream. Метод printSomething(String) выводит в поле stream переданную строку. Необходимо развернуть вывод в обратном порядке с помощью PrintStream.
В методе main(String[] args) считывается строка с клавиатуры и передается в метод printSomething(String), который записывает полученную строку в поток stream.
Твоя задача — в методе main(String[]) развернуть переданную строку с помощью поля outputStream (то есть, outputStream должен хранить в себе перевернутую строку) и вывести в консоли.
public class Solution {
public static ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
public static PrintStream stream = new PrintStream(outputStream);
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
printSomething(scanner.nextLine());
StringBuilder result = new StringBuilder(outputStream.toString()); //создал объект СБ в который передал строку.
outputStream.reset(); //сбросили поток
stream.print(result.reverse()); //записали в поток по новой перевернутую строку.
System.out.println(result); //вот тут мучился и оказалось, что выводить надо result, а не reversed. ВОПРОС: ПОЧЕМУ? Он же не реверснулся, я просто на его основе записал реверс в стрим. Почему валидатор принял решение так, будто я вывел перевернутую строку?
//напишите тут ваш код
}
public static void printSomething(String str) {
stream.print(str);
}
}