-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
70 lines (56 loc) · 3.15 KB
/
Solution.java
File metadata and controls
70 lines (56 loc) · 3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//Greet the assembly that is in their house. Greet Epaenetus, my beloved, who is the first fruits of Achaia to Christ (Romans 16:5)
package com.javarush.task.task19.task1912;
/*
Ридер обертка 2
*/
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream output = new PrintStream(baos);
PrintStream sysOut = System.out;
System.setOut(output);
testString.printSomething();
System.setOut(sysOut);
String result = baos.toString().replaceAll("te", "??");
System.out.println(result);
}
public static class TestString {
public void printSomething() {
System.out.println("it's a text for testing");
}
}
}
/*
Ридер обертка 2
В методе main подмените объект System.out написанной тобой ридер-оберткой по аналогии с лекцией.
Твоя ридер-обертка должна заменять все подстроки «te» на «??«.
Вызови готовый метод printSomething(), воспользуйтесь testString.
Верни переменной System.out первоначальный поток.
Выведи модифицированную строку в консоль.
Требования:
1. Класс Solution должен содержать класс TestString.
2. Класс Solution должен содержать публичное статическое поле testString типа TestString, которое сразу проинициализировано.
3. Класс TestString должен содержать публичный void метод printSomething().
4. Метод printSomething() класса TestString должен выводить на экран строку "it's a text for testing".
5. Метод main(String[] args) класса Solution должен создавать поток PrintStream (используй PrintStream c параметром конструктора ByteArrayOutputStream).
6. Метод main(String[] args) класса Solution должен подменять и восстанавливать поток вывода в консоль объекта System.out
7. Метод main(String[] args) класса Solution должен вызывать метод printSomething(),объекта testString.
8. Метод main(String[] args) класса Solution должен модифицировать строку выведенную методом printSomething() согласно заданию, и выводить её в консоль.
package com.javarush.task.task19.task1912;
*
Ридер обертка 2
*
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) {
}
public static class TestString {
public void printSomething() {
System.out.println("it's a text for testing");
}
}
}
*/