开始时认为很简单,用一个Timer就ok了嘛,过一秒加以秒钟,没想到后来接连遇到了麻烦,因为当从
23:59:59到00:00:00不会跳转,始终无法正确实现,代码如下: 设定时钟h=23,m=21,s=12(即从23:21:12开始运转)
Timer timer=new Timer(1000,new ActionListener(){public void actionPerformed(ActionEvent e){
s=(s+1)%60;
if(s==0){
m=(m+1)%60
}
if(m==0){
if(h==23){
h=0 ;
}
}
}});这样没到类似23:59:59的时刻就会发生时刻错乱,这因该是我考虑不全的缘故。到底如何完善这种算法呢?
我真在寻找答案。后来在翻看api 文档时,无意中看到了 Calendar类,我又想,能不能借助他来实现这一功能呢?
可以先获取一个实例,在设定它的小时,分钟,秒钟。但他不能自己按秒走啊,怎么解决呢?有没有run方法让这
个实例从设定的时间开始运行呢?结果没找到这种run方法。后来想了半天,让我终于找到一种可以实现的方法!
思路是这样的,每隔一秒在日历实例的set方法的秒这个元素加一,这样当为60秒是,实例会自动加一分钟,并把秒
钟置为0.具体代码如下:
Calendar ca=Calendar.getInstance();
int h=23,m=21,s=12;
Timer timer=new Timer(1,new ActionListener(){
public void actionPerformed(ActionEvent event){
ca.set(2011, 6, 2, 23, 59, s++);
System.out.println("..."+ca.get(Calendar.HOUR_OF_DAY)+"时"
+ca.get(Calendar.MINUTE)+"分"+ca.get(Calendar.SECOND)
+"秒");
}
});
总结:进位问题没有解决,最后不得不借助日历类来实现,不知各位大虾有没有更好的算法?
分享到:
相关推荐
实现一个计算机的Class的层次结构 类CPU Method :设定厂商名称 :取得厂商名称 :取得价格 :设定主频 :取得价格实现方法:根据主频的范围和厂商确定(自己自由发挥) 类Memory Method :设定厂商...
基于K-Means算法的聚类分析:设定聚类数、保存结果及可视化Matlab代码示例(Example_62),K-means聚类算法Matlab代码实现:设定聚类数、保存结果并可视化图解的快速指南,kmeans聚类 设定聚类个数 保存聚类结果 聚类...
三菱FX3U与两台台达温控器Modbus通讯实现温度控制及监控案例——涵盖设定温度、探头型号与读取实际温度,三菱FX3U与台达温控器Modbus通讯实现:设定温度、探头及读取实际温度操作指南,三菱FX3U与2台台达温控器modbus...
本篇将深入探讨如何利用laydate实现自定义小时范围和分钟段的功能,以及与datetime、JavaScript相关的知识点。 首先,laydate默认情况下会展示完整的日期、小时、分钟和秒数,但在某些场景下,我们可能只需要用户...
这个系统在原有的电子时钟基础上进行了扩展,使得它在指定的预设时间能够触发响铃,响铃持续一分钟,之后自动停止。同时,用户也可以通过按下预先设定的按键来手动停止闹铃。 首先,系统的核心是单片机,它负责处理...
在本文中,我们将深入探讨如何使用Vue.js框架与Element UI库来实现一个具有自定义分钟固定步长的日期时间选择器。Vue.js是一款轻量级的前端JavaScript框架,以其灵活性和可扩展性受到广大开发者的青睐。而Element UI...
四轴SCARA机器人正解逆解算法:设定臂长与末端姿态,用户坐标系转换及opencv库应用,支持左右手模式,C++源码与VS2015工程实现,四轴SCARA机器人正解逆解算法:设定臂长与末端姿态,用户坐标系转换及opencv库应用,...
四轴SCARA机器人正解逆解算法:设定臂长与末端姿态,用户坐标系转换及C++源码实现(支持左手右手两种模式),四轴scara机器人正解逆解算法,功能有:设定臂长,末端姿态,用户坐标系统及其转。 不含标定、死区管理,...
昆仑通态触摸屏与两台台达VFD-M变频器通讯实现:频率设定、启停控制与状态指示功能接线及设置说明,昆仑通态TPC7062KD触摸屏与两台台达VFD-M变频器通讯程序:实现频率设定、启停控制与状态指示,昆仑通态MCGS与2台台达...
基于MATLAB实现的定时器:设定时间通过响铃和弹窗提示+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据...
昆仑通态MCGS与欧姆龙E5CC温控器通讯程序:实现设定温度、读取温度、报警设定与上下限管理功能,稳定可靠接线与参数设置指南,昆仑通态触摸屏与三台欧姆龙E5CC温控器通讯程序:设定温度、读取实际温度、报警设定与...
施耐德变频器与昆仑通态触摸屏Modbus通讯实现:正反转、启停复位及频率设定功能指南与参数设置说明,施耐德变频器与昆仑通态触摸屏Modbus通讯实现:正反转、启停复位及频率设定功能指南与参数设置说明,施耐德变频器与...
基于s-function的交错Buck与单路Buck电路实现及对比:C语言控制环路与PID自整定功能,基于s-function的交错Buck与单路Buck电路实现及对比:设定频率,C语言控制环路与PID自整定参数,两相交错Buck,控制器采用s-...
2、按下按键,带有“滴”按键提示音 3、输入密码后,密码由“数字”变为“*”号 4、其余功能见下图“使用说明.txt” 包含仿真+源码 仿真软件:Proteus8.9 编程软件:Keil5 编程语言:C语言 ,基于51单片机;密码锁;...
昆仑通态与三台欧姆龙E5CC温控器通讯:设定温度、报警功能及参数配置说明,昆仑通态触摸屏与三台欧姆龙E5CC温控器通讯程序:设定温度、读取实际温度及报警功能,稳定可靠,含注释及手册支持,昆仑通态MCGS与3台欧姆龙...
昆仑通态触摸屏与东元N310变频器通讯实现:多机控制程序稳定可靠,实现频率设定、启停控制等功能,昆仑通态触摸屏与三台东元N310变频器通讯编程:实现精准控制及状态监测,昆仑通态与3台东元N310变频器通讯程序 实现...
昆仑通态TPC7062KD触摸屏与力士乐VFC-x610变频器通讯实现:频率设定、启停控制与状态指示功能详解,昆仑通态MCGS与力士乐VFC-x610变频器通讯 实现昆仑通态触摸屏与力士乐VFC-x610变频器通讯,程序稳定可靠 ...
【Winform基于多线程实现每隔1分钟执行一段代码】的知识点主要集中在以下几个方面: 1. **多线程**:在Windows Forms(Winform)应用中,为了不影响UI线程的响应,通常会使用多线程来执行长时间或计算密集型的任务...
3. **时间参数设置**:三菱PLC的定时器设定值通常以秒为单位,但也可以根据需要设置为毫秒、分钟或小时。在程序中,我们需要定义一个变量来存储定时器的当前值,然后根据按钮操作更新这个变量。同时,我们需要设置...