当前位置: 移动技术网 > IT编程>开发语言>Java > Java编程倒计时实现方法示例

Java编程倒计时实现方法示例

2019年07月19日  | 移动技术网IT编程  | 我要评论

        实现java编程中倒计时的方法有许多,下面我们通过三个示例来简单了解下它的实现过程。

1.简易方式实现

/** 
* @see 
* @author al_assad yulinying_1994@outlook.com 
* @date 2016年10月18日 上午3:10:13 
* @version v1.0 
* description: 倒计时简易实现,只用单线程 
*/ 
import java.util.*; 
import java.util.concurrent.*; 
 
public class countdown { 
 private int limitsec; 
 public countdown(int limitsec) throws interruptedexception{ 
  this.limitsec = limitsec; 
  system.out.println("count from "+limitsec); 
  while(limitsec > 0){ 
   system.out.println("remians "+ --limitsec +" s"); 
   timeunit.seconds.sleep(1); //设置倒计时间隔
  } 
  system.out.println("time is out"); 
 } 
 //test 
 public static void main(string[] args) throws interruptedexception { 
  new countdown(100);   //倒计时起始时间,多少秒
 } 
 
} 

2.使用scheduleexecutor实现

/** 
* @see 
* @author al_assad yulinying_1994@outlook.com 
* @date 2016年10月18日 上午2:14:43 
* @version v1.0 
* description: 倒计时实现方式1:使用scheduledexecutor实现 
*        使用两个线程; 
*/ 
import java.util.concurrent.*; 
 
public class countdown1 { 
 private volatile int limitsec ; //记录倒计时时间 
 private int cursec; //记录倒计时当下时间 
 public countdown1(int limitsec) throws interruptedexception{ 
  this.limitsec = limitsec; 
  this.cursec = limitsec; 
  system.out.println("count down form "+limitsec); 
   
  scheduledexecutorservice exec = executors.newscheduledthreadpool(1); 
  exec.scheduleatfixedrate(new task(),0,1,timeunit.seconds); 
  timeunit.seconds.sleep(limitsec); //暂停本线程 
  exec.shutdownnow(); 
  system.out.println("time out!"); 
 } 
 private class task implements runnable{ 
  public void run(){ 
   system.out.println("time remains "+ --cursec +" s"); 
  } 
 } 
 //test 
/* public static void main(string[] args) throws interruptedexception{ 
  new countdown1(10); 
 }*/ 
  
 
} 

3.使用java.util.timer实现

/** 
* @see 
* @author al_assad yulinying_1994@outlook.com 
* @date 2016年10月18日 上午2:47:44 
* @version v1.0 
* description: 倒计时实现方式2:使用java.uitl.timer实现 
*        使用两个线程 
*/ 
import java.util.*; 
import java.util.concurrent.timeunit; 
 
public class countdown2 { 
 private int limitsec; 
 private int cursec; 
 public countdown2(int limitsec) throws interruptedexception{ 
  this.limitsec = limitsec; 
  this.cursec = limitsec; 
  system.out.println("count down from "+limitsec+" s "); 
  timer timer = new timer(); 
  timer.schedule(new timertask(){ 
   public void run(){ 
    system.out.println("time remians "+ --cursec +" s"); 
   } 
  },0,1000); 
  timeunit.seconds.sleep(limitsec); 
  timer.cancel(); 
  system.out.println("time is out!"); 
 } 
 //test 
/* public static void main(string[] args) throws interruptedexception{ 
  new countdown2(10); 
 }*/ 
 
} 

总结

以上是本文的全部内容,希望对大家能有所帮助。

感谢大家对本站的支持。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网