実現したいこと
1秒ごとに現在時刻を表示
15秒で終了
ここに実現したいことを箇条書きで書いてください。
前提
ここに質問の内容を詳しく書いてください。
(例)
sleep,timerは使わずに
Javaで1秒ごとに現在時刻を表示する反復処理を組みたいのですが、59秒で止まってしまいます
発生している問題・エラーメッセージ
59秒を超えると表示が止まる
エラーメッセージ
該当のソースコード
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CurrentTime {
public static void main(String[] args) {
// 日付フォーマット
SimpleDateFormat date;
date = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
// 開始時刻
Date calSt = new Date();
// カレンダー型に
Calendar c1 = Calendar.getInstance();
c1.setTime(calSt);
// 開始時刻(秒) int start = c1.get(Calendar.SECOND); // 時間差 int count = 15 + start; while (start < count) { // 現在時刻 Date calNw = new Date(); // カレンダー型に Calendar c2 = Calendar.getInstance(); c2.setTime(calNw); // 現在時刻(秒) int now = c2.get(Calendar.SECOND); /* 開始時刻(秒)に+1した値より現在時刻(秒)が小さい場合 前の処理に戻る*/ if (start + 1 >= 59) { if (now + 60 < start + 1) { continue; } } if (now < start + 1 && now != 59) { continue; } // 現在時刻 System.out.println(date.format(calNw)); start++; } }
}
ソースコード Java

0 コメント