JavaDailyReports10_15
2020-10-15
16:12:16
今天学习了如何实现倒计时控制程序的运行:
1 package timer;
2
3 import java.util.Calendar;
4 import java.util.Date;
5 import java.util.Timer;
6 import java.util.TimerTask;
7
8 /**
9 * java演示倒计时
10 *
11 */
12 public class TimeTest {
13 public static int time = 60 * 60 * 60;
14 public static Calendar c;
15 public static long endTime;
16 public static Date date;
17 public static long startTime;
18 public static long midTime;
19
20 public static void main(String[] args) {
21 c = Calendar.getInstance();
22 c.set(2017, 4, 17, 0, 0, 0);// 注意月份的设置,0-11表示1-12月
23 // c.set(Calendar.YEAR, 2017);
24 // c.set(Calendar.MONTH, 4);
25 // c.set(Calendar.DAY_OF_MONTH, 17);
26 // c.set(Calendar.HOUR_OF_DAY, 0);
27 // c.set(Calendar.MINUTE, 0);
28 // c.set(Calendar.SECOND, 0);
29 endTime = c.getTimeInMillis();
30 date = new Date();
31 startTime = date.getTime();
32 midTime = (endTime - startTime) / 1000;
33
34 time1();//方式一
35 //time2();// 方式二
36 //time3();//方式三
37 }
38
39 /**
40 * 方式三: 使用java.util.Timer类进行倒计时
41 */
42 private static void time3() {
43 Timer timer = new Timer();
44 timer.schedule(new TimerTask() {
45 public void run() {
46 midTime--;
47 long hh = midTime / 60 / 60 % 60;
48 long mm = midTime / 60 % 60;
49 long ss = midTime % 60;
50 System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
51 }
52 }, 0, 1000);
53 }
54
55 /**
56 * 方式二: 设定时间戳,倒计时
57 */
58 private static void time2() {
59
60 while (midTime > 0) {
61 midTime--;
62 long hh = midTime / 60 / 60 % 60;
63 long mm = midTime / 60 % 60;
64 long ss = midTime % 60;
65 System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
66 try {
67 Thread.sleep(1000);
68
69 } catch (InterruptedException e) {
70 e.printStackTrace();
71 }
72 }
73 }
74
75 /**
76 * 方式一: 给定时长倒计时
77 */
78 private static void time1() {
79 while (time > 0) {
80 time--;
81 try {
82 Thread.sleep(1000);
83 int hh = time / 60 / 60 % 60;
84 int mm = time / 60 % 60;
85 int ss = time % 60;
86 System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
87 } catch (InterruptedException e) {
88 e.printStackTrace();
89 }
90 }
91
92 }
93 }
JavaDailyReports10_15的更多相关文章
随机推荐
- mysql中innodb引擎的mvcc机制和BufferPool缓存机制
一.MVCC (1)mvcc主要undo日志版本链和read-view一致性视图来保证多事务的并发控制,mvcc是innodb的一种特殊机制,他保证了事务四大特性之一的隔离性(原子性,一致性,隔离性) ...
- 极光实验室 第一次考核wp
第一道题: 上来就让我买flag,用御剑扫目录,发现了这道题有源码index.php.bak!直接下载. <meta charset='UTF-8'> <title>极光实验室 ...
- Win10激活失败并提示错误代码0xC004C003的解决方法
亲测,可用. 步骤如下: 进入cmd,管理员权限登录 slmgr.vbs /upk slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX slmgr /skms zh.us ...
- Mac开发必设置的Finder设置项,你设置了吗?
1.显示标签页.显示路径栏.显示状态栏的设置位置,在访达->显示-> 显示状态栏 个人三个都设置了,但是觉得显示状态栏用的并不多,反而多一行,下面是显示状态栏的效果,主要可以一眼看出有多少 ...
- 半夜删你代码队 Day5冲刺
一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 跟进作业 完成注册界面 相关界面设计内容知识不充足 侯晓龙 开始双人合作 开始与数据库结合 无 周楚池 初步完 ...
- 题解-TJOI2015 弦论
TJOI2015 弦论 字符串 \(s\) 和 \(t\) 和 \(k\).如果 \(t=0\),不同位置的相同子串算 \(1\) 个:如果 \(t=1\),不同位置的相同子串算多个.求 \(k\) ...
- do{}while(false)的用法
do{}while(false): 在工作中我们能经常发现有人写 do{}while(false) 这样的代码,初看时让人迷惑不解,按照上面的语法 do{}while(false) 这样 do{} ...
- 【Jmeter 压测MySql连接问题】
JDBC Request :Cannot load JDBC driver class 'com.mysql.jdbc.Driver'解决办法 在Jmeter中run JDBC Request时, ...
- NMO not setuid-root (Unix-only)
EM操作Reorganize Objects时提示的错误 错误提示: NMO not setuid-root (Unix-only) 解决方法: 1.停止EM emctl stop dbconsole ...
- vue第三单元(webpack的应用-能根据具体的需求构建对应的开发环境)
第三单元(webpack的应用-能根据具体的需求构建对应的开发环境) #课程目标 理解什么是单页面应用. 掌握单页面和多页面的差异. 了解单页面的实现原理. 掌握模块化的方式实现webpack配置,区 ...