回答編集履歴
5
asdasd
test
CHANGED
@@ -173,7 +173,3 @@
|
|
173
173
|
|
174
174
|
|
175
175
|
```
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
上2つの例が要件を満たさなかった場合にのみお聞きしますが、課題に「Thread#sleep」を使用してはいけないと書かれていたのでしょうか。
|
4
asdasd
test
CHANGED
@@ -156,19 +156,21 @@
|
|
156
156
|
|
157
157
|
|
158
158
|
|
159
|
-
do {
|
159
|
+
while (endTime > shownTime) {
|
160
160
|
|
161
|
-
if(System.currentTimeMillis() < shownTime + 1000) continue;
|
161
|
+
if (System.currentTimeMillis() < shownTime + 1000) continue;
|
162
162
|
|
163
163
|
shownTime = System.currentTimeMillis();
|
164
164
|
|
165
165
|
System.out.println(formatter.format(new Date(shownTime)));
|
166
166
|
|
167
|
-
}
|
167
|
+
}
|
168
168
|
|
169
169
|
}
|
170
170
|
|
171
171
|
}
|
172
|
+
|
173
|
+
|
172
174
|
|
173
175
|
```
|
174
176
|
|
3
コードの修正
test
CHANGED
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
|
152
152
|
|
153
|
-
long endTime = System.currentTimeMillis() + 30000
|
153
|
+
long endTime = System.currentTimeMillis() + 30000;
|
154
154
|
|
155
155
|
long shownTime = 0;
|
156
156
|
|
2
追加
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
勘違いだったら申し訳ないのですが、
|
1
|
+
勘違いだったら申し訳ないのですが、1秒毎に日時を表示させながら、他の処理を同時に行いたいということでしょうか。それならばjava.lang.Threadクラスを利用することで実現することができます。以下に例を示します。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -126,6 +126,52 @@
|
|
126
126
|
|
127
127
|
```
|
128
128
|
|
129
|
+
また、本当はこのようなコードはCPUを消費するためよくないのですが、sleepを使わない例もお見せします。
|
129
130
|
|
130
131
|
|
132
|
+
|
133
|
+
```java
|
134
|
+
|
135
|
+
import java.text.SimpleDateFormat;
|
136
|
+
|
137
|
+
import java.util.Date;
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
public class Main {
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
public static void main(String[] args) {
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
long endTime = System.currentTimeMillis() + 300000;
|
154
|
+
|
155
|
+
long shownTime = 0;
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
do {
|
160
|
+
|
161
|
+
if(System.currentTimeMillis() < shownTime + 1000) continue;
|
162
|
+
|
163
|
+
shownTime = System.currentTimeMillis();
|
164
|
+
|
165
|
+
System.out.println(formatter.format(new Date(shownTime)));
|
166
|
+
|
167
|
+
} while (endTime > shownTime);
|
168
|
+
|
169
|
+
}
|
170
|
+
|
171
|
+
}
|
172
|
+
|
173
|
+
```
|
174
|
+
|
175
|
+
|
176
|
+
|
131
|
-
|
177
|
+
上2つの例が要件を満たさなかった場合にのみお聞きしますが、課題に「Thread#sleep」を使用してはいけないと書かれていたのでしょうか。
|
1
gay
test
CHANGED
@@ -125,3 +125,7 @@
|
|
125
125
|
2020/08/19 22:37:02
|
126
126
|
|
127
127
|
```
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
この例が要件を満たさなかった場合にのみお聞きしますが、課題に「Thread#sleep」を使用してはいけないと書かれていたのでしょうか。
|