?
倒計(jì)時(shí)的實(shí)現(xiàn)方法有很多種,本文給大家介紹其中一種,最簡(jiǎn)單的一種實(shí)現(xiàn)方式,也是最方便的一種方式,希望能幫到大家。 1、 java中倒計(jì)時(shí)是利用循環(huán)來(lái)實(shí)現(xiàn)的,我們可以使用循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)。 2、 java中使用 bool類的 setTimeout方法也是可以實(shí)現(xiàn)倒計(jì)時(shí)的。 3、 java中還有一種方式是利用列表實(shí)現(xiàn)的,但是這種方式比較麻煩,要給每個(gè)元素都加上task_value屬性,代碼如下: 4、 java中還有一種使用了 myTaskManager類來(lái)實(shí)現(xiàn)倒計(jì)時(shí),這是一種用到了時(shí)間類的task_value屬性來(lái)實(shí)現(xiàn)的。 5、 java中還有一種使用列表來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的方式,我們可以使用 left ()方法來(lái)獲取當(dāng)前元素在列表中的位置,然后使用 found ()方法獲取列表中的下一個(gè)元素。 6、 java中還有一種方式是使用 setTimeout方法來(lái)實(shí)現(xiàn)倒計(jì)時(shí),這種方式比上面兩種要簡(jiǎn)單一些。 7、 java中還有一種是用到了 for循環(huán)和 while循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)。
-
1.使用 for循環(huán)
在 Java中, for循環(huán)語(yǔ)句是一個(gè)非常常用的語(yǔ)句,也是一個(gè)非常有用的語(yǔ)句,在 Java中用到 for循環(huán)語(yǔ)句的地方非常多,下面舉兩個(gè)例子來(lái)說(shuō)明一下。 示例1: 示例2: 上面兩個(gè)示例都是利用 for循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的。上面這兩個(gè)示例中使用的循環(huán)語(yǔ)句都是 for循環(huán)語(yǔ)句,下面我們來(lái)看看用 for循環(huán)實(shí)現(xiàn)倒計(jì)時(shí)的代碼: 上面兩個(gè)代碼都是先初始化一個(gè)變量,然后使用 found ()方法獲取當(dāng)前元素在列表中的位置,然后使用 for循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)。上面這兩個(gè)代碼都是使用 for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的,下面我們?cè)賮?lái)看看 myTaskManager類中使用 setTimeout方法實(shí)現(xiàn)倒計(jì)時(shí)的代碼:
-
2.使用 myTaskManager類的task_value屬性
在上面的代碼中,我們先給 myTaskManager類添加一個(gè)task_value屬性,然后再用 setTimeout ()方法來(lái)獲取當(dāng)前元素的位置,然后再用 for循環(huán)和 while循環(huán)來(lái)獲取列表中的下一個(gè)元素。 上面這段代碼其實(shí)也很簡(jiǎn)單,只不過(guò)它沒(méi)有添加任何的條件語(yǔ)句,也沒(méi)有循環(huán)語(yǔ)句,而且在執(zhí)行的過(guò)程中也沒(méi)有判斷下一個(gè)元素是不是需要添加條件。所以我們只要把上面這段代碼改一下就可以了。 上面的代碼也是利用task_value屬性來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的,只不過(guò)它沒(méi)有添加任何的條件語(yǔ)句,也沒(méi)有循環(huán)語(yǔ)句,只是在執(zhí)行的過(guò)程中,給每一個(gè)元素都加上了task_value屬性而已。
-
3.使用 myTaskManager實(shí)現(xiàn)倒計(jì)時(shí),需要給每個(gè)元素都加上task_value屬性
java中實(shí)現(xiàn)倒計(jì)時(shí)還有很多種方式,因?yàn)槭褂玫恼Z(yǔ)言不同,所以實(shí)現(xiàn)的方法也是不同的。在這里給大家介紹一種最簡(jiǎn)單,最方便的一種方式。 1、首先定義一個(gè)倒計(jì)時(shí)類,然后在這個(gè)類中定義一個(gè)倒計(jì)時(shí)變量,使用 for循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)。 2、在這個(gè)類中定義一個(gè) myTaskManager類,然后使用 myTaskManager對(duì)象來(lái)實(shí)現(xiàn)倒計(jì)時(shí)。 3、在 myTaskManager對(duì)象中,在左邊屬性欄中定義了一個(gè)task_value屬性,然后在右邊屬性欄中定義了一個(gè) timestamp值。
-
4.使用列表實(shí)現(xiàn)倒計(jì)時(shí)
在 Java中使用列表實(shí)現(xiàn)倒計(jì)時(shí)的方法和上面提到的三種方式都不一樣,下面我們就來(lái)看一下 java中用列表實(shí)現(xiàn)倒計(jì)時(shí)的方法: 2)、在循環(huán)語(yǔ)句中使用列表實(shí)現(xiàn)倒計(jì)時(shí)的方法和上面介紹的三種方式都是一樣的,只是要給每個(gè)元素都加上task_value屬性。 3)、在循環(huán)語(yǔ)句中使用列表實(shí)現(xiàn)倒計(jì)時(shí)的方式只適合于元素比較少或者是在循環(huán)語(yǔ)句中使用,如果想要實(shí)現(xiàn)較多元素的倒計(jì)時(shí)方式就不太適合了。 4)、使用列表實(shí)現(xiàn)倒計(jì)時(shí)最簡(jiǎn)單,但是也是最麻煩的一種方式,因?yàn)樗枰o每個(gè)元素都加上task_value屬性,因此我們?cè)谑褂眠@種方式時(shí),要給每個(gè)元素都加上task_value屬性。
-
5.使用 setTimeout方法來(lái)實(shí)現(xiàn)倒計(jì)時(shí)
上面的代碼是 java中比較簡(jiǎn)單的一種倒計(jì)時(shí)實(shí)現(xiàn)方式,其實(shí)還有一種更簡(jiǎn)單的倒計(jì)時(shí)實(shí)現(xiàn)方式,下面給大家介紹一下。 上面的代碼是 java中比較簡(jiǎn)單的一種倒計(jì)時(shí)實(shí)現(xiàn)方式,這里用到了一個(gè) setTimeout方法。在 setTimeout方法中有一個(gè)參數(shù)叫 setTimeout,它表示當(dāng)前時(shí)間的長(zhǎng)度,如果是大于1的話,說(shuō)明當(dāng)前時(shí)間已經(jīng)到了;如果是小于1的話,說(shuō)明當(dāng)前時(shí)間還沒(méi)有到;如果是等于1的話,說(shuō)明當(dāng)前時(shí)間已經(jīng)到了。 上面的代碼中使用了一個(gè)時(shí)間戳變量來(lái)表示當(dāng)前時(shí)間,然后再使用一個(gè) timeout方法來(lái)設(shè)置當(dāng)前時(shí)間。這里需要注意的是 timeout方法一般是在最后一次調(diào)用才會(huì)產(chǎn)生效果的。 上面的代碼也是用到了 setTimeout方法來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的方式,下面再看一下 java中其他類中使用這種方式來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的。
-
6.使用 for循環(huán)和 while循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)
當(dāng)我們需要實(shí)現(xiàn)倒計(jì)時(shí)的時(shí)候,我們可以使用 for循環(huán)和 while循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí),代碼如下: 在上面的代碼中,我們先使用 for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)倒計(jì)時(shí),然后使用 while循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)倒計(jì)時(shí)。代碼如下: 上面的代碼是使用了 for循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí),在進(jìn)行代碼編寫(xiě)的時(shí)候要注意使用 for循環(huán)語(yǔ)句和 while循環(huán)語(yǔ)句都是只有一個(gè)條件的,不能同時(shí)使用這兩個(gè)語(yǔ)句來(lái)實(shí)現(xiàn)倒計(jì)時(shí)。比如我們需要實(shí)現(xiàn)1小時(shí)和15分鐘的倒計(jì)時(shí),如果同時(shí)使用 for循環(huán)和 while循環(huán)來(lái)實(shí)現(xiàn),那么就會(huì)導(dǎo)致程序出錯(cuò)。所以我們?cè)谶M(jìn)行編程的時(shí)候一定要注意這一點(diǎn),否則就會(huì)出現(xiàn)很多錯(cuò)誤。上面的代碼中是把2個(gè)條件同時(shí)用起來(lái)了。
-
7.用 for循環(huán)和 while循環(huán)實(shí)現(xiàn)倒計(jì)時(shí)
第二種是使用 setTimeout方法來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的,代碼如下: 我們?cè)诰幊虒?shí)踐中經(jīng)常會(huì)遇到一些復(fù)雜的計(jì)算,如果程序不復(fù)雜,那就不需要使用循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)了,所以我們可以使用 for循環(huán)和 while循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的。還有一種方式就是使用列表來(lái)實(shí)現(xiàn)倒計(jì)時(shí),代碼如下: 上面就是用列表實(shí)現(xiàn)倒計(jì)時(shí)的代碼。其實(shí)這種方式也可以用 for循環(huán)和 while循環(huán)來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的,在代碼中只需要把變量名修改為時(shí)間就行了,這樣代碼也會(huì)很簡(jiǎn)單,而且還有一種方式是使用列表來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的方式。
常用的java倒計(jì)時(shí)代碼:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-483942.html
1.?使用Timer和TimerTask實(shí)現(xiàn)倒計(jì)時(shí):
```java
import?java.util.Timer;
import?java.util.TimerTask;
public?class?CountdownTimer?{
private?int?seconds;
public?CountdownTimer(int?seconds)?{
this.seconds?=?seconds;
}
public?void?start()?{
Timer?timer?=?new?Timer();
timer.scheduleAtFixedRate(new?TimerTask()?{
public?void?run()?{
System.out.println(seconds);
seconds--;
if?(seconds?<?0)?{
timer.cancel();
}
}
},?0,?1000);
}
public?static?void?main(String[]?args)?{
CountdownTimer?timer?=?new?CountdownTimer(10);
timer.start();
}
}
```
2.?使用ScheduledExecutorService實(shí)現(xiàn)倒計(jì)時(shí):
```java
import?java.util.concurrent.Executors;
import?java.util.concurrent.ScheduledExecutorService;
import?java.util.concurrent.TimeUnit;
public?class?CountdownTimer?{
private?int?seconds;
public?CountdownTimer(int?seconds)?{
this.seconds?=?seconds;
}
public?void?start()?{
ScheduledExecutorService?executor?=?Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(new?Runnable()?{
public?void?run()?{
System.out.println(seconds);
seconds--;
if?(seconds?<?0)?{
executor.shutdown();
}
}
},?0,?1,?TimeUnit.SECONDS);
}
public?static?void?main(String[]?args)?{
CountdownTimer?timer?=?new?CountdownTimer(10);
timer.start();
}
}
```
3.?使用CountDownLatch實(shí)現(xiàn)倒計(jì)時(shí):
```java
import?java.util.concurrent.CountDownLatch;
public?class?CountdownTimer?{
private?int?seconds;
public?CountdownTimer(int?seconds)?{
this.seconds?=?seconds;
}
public?void?start()?throws?InterruptedException?{
final?CountDownLatch?latch?=?new?CountDownLatch(seconds);
for?(int?i?=?0;?i?<?seconds;?i++)?{
final?int?count?=?i;
new?Thread(new?Runnable()?{
public?void?run()?{
System.out.println(seconds?-?count);
latch.countDown();
}
}).start();
}
latch.await();
}
public?static?void?main(String[]?args)?throws?InterruptedException?{
CountdownTimer?timer?=?new?CountdownTimer(10);
timer.start();
}
}
```文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-483942.html
到了這里,關(guān)于java 倒計(jì)時(shí)實(shí)現(xiàn)的方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!