Все правильно решает, чего хочет валидатор?
package com.javarush.task.task19.task1914;
/*
Решаем пример
*/
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) {
PrintStream consoleStream = System.out;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream stream = new PrintStream(outputStream);
System.setOut(stream);
testString.printSomething();
String result = outputStream.toString();
//Возвращаем все как было
System.setOut(consoleStream);
//обрабатываем сторку
int answer = 0;
String[] strArr = result.split("\\s");
switch (strArr[1]){
case "+":
answer = Integer.parseInt(strArr[0]) + Integer.parseInt(strArr[2]);
break;
case "-":
answer = Integer.parseInt(strArr[0]) - Integer.parseInt(strArr[2]);
break;
case "*":
answer = Integer.parseInt(strArr[0]) * Integer.parseInt(strArr[2]);
break;
}
//System.out.println(strArr.length);
//System.out.println(strArr[0] + strArr[1] + strArr[2] + strArr[3]);
String str = result.replaceAll("\\r", String.valueOf(answer));
System.out.print(str);
}
public static class TestString {
public void printSomething() {
System.out.println("3 + 6 = ");
}
}
}
