-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
112 lines (84 loc) · 3.78 KB
/
Solution.java
File metadata and controls
112 lines (84 loc) · 3.78 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// and that the Gentiles might glorify God for his mercy. As it is written, "Therefore will I give praise to you among the Gentiles, and sing to your name. (Romans 15:9)
package com.javarush.task.task16.task1626;
public class Solution {
public static int number = 5;
public static void main(String[] args) {
new Thread(new CountDownRunnable(), "Уменьшаем").start();
new Thread(new CountUpRunnable(), "Увеличиваем").start();
}
public static class CountUpRunnable implements Runnable {
private int countIndexUp = 1;//Add your code here - добавь код тут
public void run() {
try {
while (true) {
System.out.println(toString());
countIndexUp += 1;
if (countIndexUp > number) {
Thread.sleep(500);
return;
}
Thread.sleep(500);
}
}catch(InterruptedException e) {e.printStackTrace();}
}
public String toString() {
return Thread.currentThread().getName() + ": " + countIndexUp;
}
}
public static class CountDownRunnable implements Runnable {
private int countIndexDown = Solution.number;
public void run() {
try {
while (true) {
System.out.println(toString());
countIndexDown -= 1;
if (countIndexDown == 0) return;
Thread.sleep(500);
}
} catch (InterruptedException e) {
}
}
public String toString() {
return Thread.currentThread().getName() + ": " + countIndexDown;
}
}
}
/*
Создание по образцу
Разберись, как работает программа.
По образу и подобию CountDownRunnable создай нить CountUpRunnable, которая выводит значения в нормальном порядке — от 1 до number.
Требования:
1. Класс CountUpRunnable должен реализовывать интерфейс Runnable.
2. Класс CountUpRunnable должен иметь публичный метод run без параметров.
3. Метод run класса CountUpRunnable должен работать примерно 2,5 секунды.
4. Метод run класса CountUpRunnable должен каждые полсекунды выводить имя потока, двоеточие и значение счетчика от 1 до 5 (например: "Увеличиваем: 1").
5. Метод run класса CountUpRunnable должен вызывать Thread.sleep(500).
package com.javarush.task.task16.task1626;
public class Solution {
public static int number = 5;
public static void main(String[] args) {
new Thread(new CountDownRunnable(), "Уменьшаем").start();
new Thread(new CountUpRunnable(), "Увеличиваем").start();
}
public static class CountUpRunnable {
//Add your code here - добавь код тут
}
public static class CountDownRunnable implements Runnable {
private int countIndexDown = Solution.number;
public void run() {
try {
while (true) {
System.out.println(toString());
countIndexDown -= 1;
if (countIndexDown == 0) return;
Thread.sleep(500);
}
} catch (InterruptedException e) {
}
}
public String toString() {
return Thread.currentThread().getName() + ": " + countIndexDown;
}
}
}
*/