第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

日歷秒數(shù)在 while 循環(huán)中沒有增加

日歷秒數(shù)在 while 循環(huán)中沒有增加

海綿寶寶撒 2022-12-28 14:19:42
我試圖讓 while 循環(huán)在 5 秒半 (5.5) 后停止,所以我使用 Calendar 庫獲取分鐘的當(dāng)前秒數(shù),然后將 5.5 遞增到它上面。在該過程之后,它循環(huán)等待當(dāng)前時(shí)間等于保存的變量我意識(shí)到秒數(shù)沒有增加……這是為什么?代碼:package me.fangs.td;import java.util.Calendar;public class Main {    public static void main(String[] args) {        Calendar calendar = Calendar.getInstance();        double timeout = calendar.get(Calendar.SECOND) + 5.5;        while((double) calendar.get(Calendar.SECOND) < timeout) {            System.out.println((double) calendar.get(Calendar.SECOND));            Thread.sleep(1000);        }    }}
查看完整描述

3 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

我根本不會(huì)使用 Calender 庫,而是使用System.currentTimeMillis()


這是一個(gè)在 5.5 秒后終止的 while 循環(huán):


long end = System.currentTimeMillis() + 5500;

while (System.currentTimeMillis() < end) {

  //Do something

}

//Exit after 5.5 seconds

這個(gè)版本的優(yōu)點(diǎn)是,您可以在循環(huán)運(yùn)行時(shí)更改結(jié)束時(shí)間,從而更改循環(huán)運(yùn)行的時(shí)間。


查看完整回答
反對(duì) 回復(fù) 2022-12-28
?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

與其實(shí)現(xiàn)我自己的,我更喜歡/使用Timer它是一種線程工具,可以在后臺(tái)線程中安排任務(wù)以供將來執(zhí)行。像,


Timer t = new Timer();

TimerTask task = new TimerTask() {

    @Override

    public void run() {

        System.out.println("Five seconds");

    }

};

t.schedule(task, TimeUnit.SECONDS.toMillis(5) + 500); // 5.5 seconds.


查看完整回答
反對(duì) 回復(fù) 2022-12-28
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

java.time

VoroX的回答是正確的。但是使用 java.time 使它更加優(yōu)雅和自我記錄。


我們通過循環(huán)調(diào)用Instant.now每次以捕獲新的當(dāng)前時(shí)間。日期時(shí)間對(duì)象不會(huì)自動(dòng)更新。它們是那一刻的快照,凍結(jié)了。在每種情況下詢問您何時(shí)需要當(dāng)前時(shí)間。


Duration wait = Duration.ofSeconds( 5 ).plusMillis( 500 ) ;  // 5.5 seconds.

Instant now = Instant.now() ;

Instant stop = now.plus( d ) ;


while( Instant.now().isBefore( stop ) ) 

{

   // Do some task. 

在實(shí)際工作中,我還會(huì)添加一個(gè)檢查,stop.isAfter( start )以防 Duration 被編輯為負(fù)值。


查看完整回答
反對(duì) 回復(fù) 2022-12-28
  • 3 回答
  • 0 關(guān)注
  • 133 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)