Почему у меня в end записывается только ravno? Я хочу удалить перенос строки, который делает System.out.println в методе printSomething(). Делаю это при помощи replace, но он стирает вообще всю строку. Что делать? Где моя ошибка?
package com.javarush.task.task19.task1914;
/*
Решаем пример
*/
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.Arrays;
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) {
PrintStream maniOut = System.out;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
PrintStream secondOut = new PrintStream(byteArrayOutputStream);
System.setOut(secondOut);
testString.printSomething();
String[] charMassive = byteArrayOutputStream.toString().replace("\n", "").split(" ");
System.setOut(maniOut);
int ravno = 0;
switch (charMassive[1]){
case "+" : ravno = Integer.parseInt((charMassive[0])) + Integer.parseInt((charMassive[2]));
break;
case "-" : ravno = Integer.parseInt((charMassive[0])) - Integer.parseInt((charMassive[2]));
break;
case "*" : ravno = Integer.parseInt((charMassive[0])) * Integer.parseInt((charMassive[2]));
break;
}
String end = byteArrayOutputStream.toString().replace("\n", "") + ravno;
System.out.println(end);
}
public static class TestString {
public void printSomething() {
System.out.println("3 + 6 = ");
}
}
}