回答編集履歴

2

追加

2020/09/01 12:03

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -29,6 +29,42 @@
29
29
  1秒単位に、閾値を用意しておいて、それを超えていたら、表示して、閾値を次の1秒単位に更新。
30
30
 
31
31
  みたいな感じにするといいのではないでしょうか。
32
+
33
+
34
+
35
+ 例えばこんなとか。
36
+
37
+ ```JAVA
38
+
39
+ import java.text.SimpleDateFormat;
40
+
41
+ import java.util.Calendar;
42
+
43
+ public class Main{
44
+
45
+ public static void main(String[]args){
46
+
47
+ SimpleDateFormat d = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
48
+
49
+ Calendar c2;
50
+
51
+ long s3 = Calendar.getInstance().getTimeInMillis();
52
+
53
+ for(int i=0; i<20; i++){
54
+
55
+ while((c2 = Calendar.getInstance()).getTimeInMillis() < s3 + i*1000);
56
+
57
+ System.out.println(d.format(c2.getTime()));
58
+
59
+ }
60
+
61
+ }
62
+
63
+ }
64
+
65
+ ```
66
+
67
+
32
68
 
33
69
 
34
70
 

1

追加

2020/09/01 12:03

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -29,3 +29,51 @@
29
29
  1秒単位に、閾値を用意しておいて、それを超えていたら、表示して、閾値を次の1秒単位に更新。
30
30
 
31
31
  みたいな感じにするといいのではないでしょうか。
32
+
33
+
34
+
35
+ ---
36
+
37
+ ほんとにそんなに早いのかなとおもって、paiza.ioで
38
+
39
+ ```JAVA
40
+
41
+ import java.text.SimpleDateFormat;
42
+
43
+ import java.util.Calendar;
44
+
45
+ public class Main{
46
+
47
+ public static void main(String[]args){
48
+
49
+ SimpleDateFormat d = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
50
+
51
+ Calendar c1 = Calendar.getInstance();
52
+
53
+ Calendar c2 = Calendar.getInstance();
54
+
55
+ long s3;
56
+
57
+ while(c2.getTimeInMillis() < c1.getTimeInMillis() + 3){ // 3ミリ秒実行
58
+
59
+ c2 = Calendar.getInstance();
60
+
61
+ s3 = c2.getTimeInMillis() - c1.getTimeInMillis();
62
+
63
+ System.out.print(s3);
64
+
65
+ }
66
+
67
+ }
68
+
69
+ }
70
+
71
+ ```
72
+
73
+ とかやってみたら、
74
+
75
+ `00000000000000000000001111111111111111111111111111111222222222222222222222223`
76
+
77
+ とかの結果になったので、1ミリ秒の間に20回以上もループするのね。
78
+
79
+ ループの中の処理を増やすとその分回数は減ります。