Repository navigation
Expand file tree
/
Copy pathSolution.java
More file actions
62 lines (39 loc) · 2.05 KB
/
Copy pathSolution.java
File metadata and controls
62 lines (39 loc) · 2.05 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
//And I saw another mighty angel come down from heaven, clothed with a cloud: and a rainbow was upon his head, and his face was as it were the sun, and his feet as pillars of fire (Revelation 10:1)
package com.javarush.task.task30.task3004;
import java.util.concurrent.ForkJoinPool;
/*
Fork/Join
*/
public class Solution {
private String binaryRepresentationMethod(int x) {
int a = x % 2;
int b = x / 2;
String result = String.valueOf(a);
if (b > 0) {
return binaryRepresentationMethod(b) + result;
}
return result;
}
public static void main(String[] args) {
Solution solution = new Solution();
String result1 = solution.binaryRepresentationMethod(6);
System.out.println(result1);
System.out.println();
ForkJoinPool forkJoinPool = new ForkJoinPool();
String result2 = forkJoinPool.invoke(new BinaryRepresentationTask(6));
System.out.println(result2);
}
}
/*
Fork/Join
1. Создай класс BinaryRepresentationTask. Для этого в IntelliJ IDEA на красном имени класса нажми Alt+Enter -> Create Class ...
(класс должен наследоваться от RecursiveTask<String>). Параметр конструктора - int x.
2. Реализуй логику метода compute - число должно переводиться в двоичное представление.
3. Используй методы fork и join.
4. Пример функциональной реализации - метод binaryRepresentationMethod.
Требования:
1. Создай класс BinaryRepresentationTask.
2. В классе BinaryRepresentationTask должен быть переопределен метод compute().
3. В классе BinaryRepresentationTask в методе compute() используй методы fork() и join().
4. Метод compute() должен правильно переводить число в двоичную систему счисления.
*/