1

私はコアJavaで試験ソフトウェアを開発しており、学生向けにさまざまなテストを行っています。カウントダウン付きのタイマーが設定されているコードの一部で立ち往生しています。私の問題は、分を表示すると正常に機能するのに、分をmm:ss形式で秒を表示しようとすると機能しないことです。

コードは次のとおりです。

// for below int ti=20,si=60;
// test is for 20 minutes
public void run() {
    while (true) {
        try {
            Thread.currentThread().sleep(60000);

            for (int i = 0; i <= 60; i++) {
                etime.setText("Remaining Time:-" + ti + ":" + si);
                System.out.println("Remaining Time:-" + ti + ":" + si);
                Thread.currentThread().sleep(1000);
                si--;
            }
            ti--;
            if (ti == 0) {
                close();
            }
        } catch (InterruptedException ex) {
            Logger.getLogger(Exam.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}
4

1 に答える 1

1

0までカウントダウンしたらsi、59にリセットする必要があります。

また、i変数は完全に不要であり、ループに1つずつずれたエラーがあります。

于 2013-03-16T08:24:17.750 に答える