簡體   English   中英

Java中使用線程的計時器

[英]timer in java using threads

我正在用核心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);
        }

    }
}

si倒數至0后,您需要將其重置為59。

另外, i變量完全沒有必要,並且循環中存在一個錯誤的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM