Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level19.lesson08.task04;
- /* Решаем пример
- В методе main подмените объект System.out написанной вами ридер-оберткой по аналогии с лекцией
- Ваша ридер-обертка должна выводить на консоль решенный пример
- Вызовите готовый метод printSomething(), воспользуйтесь testString
- Верните переменной System.out первоначальный поток
- Возможные операции: + - *
- Шаблон входных данных и вывода: a [знак] b = c
- Отрицательных и дробных чисел, унарных операторов - нет.
- Пример вывода:
- 3 + 6 = 9
- */
- import java.io.ByteArrayOutputStream;
- import java.io.PrintStream;
- public class Solution {
- public static TestString testString = new TestString();
- public static void main(String[] args) {
- PrintStream originalOut = System.out;//сохраняем оригинальный System.out
- ByteArrayOutputStream bAOS = new ByteArrayOutputStream();//создаем динам. массив
- PrintStream stream = new PrintStream(bAOS);//создаем адаптер к классу PrintStream
- System.setOut(stream);//устанавливаем адаптер как текущий out
- //теперь печатает в bAOS
- testString.printSomething();//out добавляет строки в bAOS
- String origString = bAOS.toString();
- String result[] = origString.split(" ");
- int firstNum = Integer.parseInt(result[0]);
- int secondNum = Integer.parseInt(result[2]);
- int finaly;
- if (result[1].equals("+")) {
- finaly=firstNum+secondNum;
- origString = origString+finaly;
- origString = origString.replace("\n", "").replace("\r","");
- }
- else if (result[1].equals("-")) {
- finaly = firstNum-secondNum;
- origString = origString+finaly;
- origString = origString.replace("\n", "").replace("\r","");
- }
- else if (result[1].equals("*")) {
- finaly = firstNum*secondNum;
- origString = origString+finaly;
- origString = origString.replace("\n", "").replace("\r","");
- }
- System.setOut(originalOut);//возвращаем оригинальный out (на консоль)
- System.out.println(origString);//выводим в консоль (то, что result получил из bAOS)
- }
- public static class TestString {
- public void printSomething() {
- System.out.println("3 + 6 = ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement