자바 카운트다운 세 가지 실현 방식 코드 인 스 턴 스

3282 단어 Java카운트다운
js 카운트다운 을 쓰 고 갑자기 자바 로 카운트다운 을 하려 고 세 가지 실현 방식 을 썼 습 니 다.
1:긴 카운트다운 설정 하기;
2.타임 스탬프 의 카운트다운 설정 하기;
3.java.util.Timer 류 를 사용 하여 이 루어 진 시간 스탬프 카운트다운
코드 는 다음 과 같 습 니 다:

package timer;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * java     
 *
 */
public class TimeTest {
  public static int time = 60 * 60 * 60;
  public static Calendar c;
  public static long endTime;
  public static Date date;
  public static long startTime;
  public static long midTime;

  public static void main(String[] args) {
    c = Calendar.getInstance();
    c.set(2017, 4, 17, 0, 0, 0);//        ,0-11  1-12 
    // c.set(Calendar.YEAR, 2017);
    // c.set(Calendar.MONTH, 4);
    // c.set(Calendar.DAY_OF_MONTH, 17);
    // c.set(Calendar.HOUR_OF_DAY, 0);
    // c.set(Calendar.MINUTE, 0);
    // c.set(Calendar.SECOND, 0);
    endTime = c.getTimeInMillis();
    date = new Date();
    startTime = date.getTime();
    midTime = (endTime - startTime) / 1000;

    // time1();//   
    time2();//    
    // time3();//   
  }

  /**
   *    :   java.util.Timer      
   */
  private static void time3() {
    Timer timer = new Timer();
    timer.schedule(new TimerTask() {
      public void run() {
        midTime--;
        long hh = midTime / 60 / 60 % 60;
        long mm = midTime / 60 % 60;
        long ss = midTime % 60;
        System.out.println("  " + hh + "  " + mm + "  " + ss + " ");
      }
    }, 0, 1000);
  }

  /**
   *    :      ,   
   */
  private static void time2() {

    while (midTime > 0) {
      midTime--;
      long hh = midTime / 60 / 60 % 60;
      long mm = midTime / 60 % 60;
      long ss = midTime % 60;
      System.out.println("  " + hh + "  " + mm + "  " + ss + " ");
      try {
        Thread.sleep(1000);

      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }

  /**
   *    :        
   */
  private static void time1() {
    while (time > 0) {
      time--;
      try {
        Thread.sleep(1000);
        int hh = time / 60 / 60 % 60;
        int mm = time / 60 % 60;
        int ss = time % 60;
        System.out.println("  " + hh + "  " + mm + "  " + ss + " ");
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }

  }
}
실행 결과:
time 1()결과:

time 2()결과:

time 3()결과:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기