一、计时器
1.功能主要是包括开始和暂停(默认关闭窗口为退出)。
2.大致想法是程序运行,产生一个界面,主要信息是 开始 和 结束。
a.开始:
程序运行,自 00:00:00 开始,精确到秒。
b.暂停:
键盘输入,程序接收到特定的暂停信息,记录当时时间,界面停止到此时刻。
3.功能实现:
a.界面:
直接一个输出函数,将功能信息输出显示板,让使用者了解操作功能。
java:System.out.println()
C语言:printf()
b.时间的显示与刷新
用到睡眠 Sleep(time),定义间隔每秒进一。java中使用线程睡眠 Thread.sleep(time)
hour每 12 或 24 重置 min与sec每 60 重置
int hour=0,min=0,sec=0;
while(true){
Sleep(1000);
sec++;
if(sec==60){
//达到 60 重置为 0,且上一级单位进一。
sec=0;
min++;
if(min==60){
//达到 60 重置为 0,且上一级单位进一。
min=0;
hour++;
//计时器时间无限制。hour不设置上限
//(24 小时制 24 重置**\**12 小时制 12 重置)
}
}
//输出此刻时间,C语言调用刷新cls,java用 setText() 方法或者其刷新方法
printf("%d:%d:%d",hour,min,sec);
System("cls");
}
c.开始:
直接根据界面提示输入开始信号,运行程序
d.暂停:
在程序进行中,程序随时接受外界命令,当接收信息与程序设置的暂停信息一致时,程序暂停。
view1:在三层循环里分别加入输入流,此流在限制在 1 sec 内关闭 close() 并释放处理
输入流能接收键盘输入,通过读取 read() 判断满足特定条件,即为暂停
判断满足,执行语句,记录此刻时间,并跳出时间运行程序,输出时间
start=System.currentTimeMillis();
//调用时间方法,返回现在的时间为毫秒
//之前定义 long 型,否则第二次循环时会出错,因为命名冲突
InputStream is=null;
InputStreamReaeder isr=null;
is=new InputStream();
isr=new InputStreamReaeder(is);
char[] c=new char[24];
int len;
String str0="run",str;
while((len=isr.read(c))!=-1){
str=new String(c,0,len);
if(str.equal(str0)){
System.out.println("%d:%d:%d",hour,min,sec);
//最新时间,也是此时暂停想要的时间
break;
//跳出或者 C 语言暂停 pause,java中wait sleep yield暂停
}
}
last=System.currentTimeMillis();
//调用时间方法,返回现在的时间为毫秒
//之前定义 long 型,否则第二次循环时会出错,因为命名冲突
if((last-start)>999){
//时间大于999毫秒即关闭流。在运行这段程序时,重新创建输入流
isr.close();
}
以上代码其实就是实现在每时每刻都能接受键盘信息,并判断是否暂停
view2: 多线程,主线程:时间运行程序为,次线程:判断条件执行暂停
次线程与主线程分别独立工作,互不影响,次线程等待键盘信息并判断,
开始:程序打开就开始
暂停:次程序传来信息就停止,次线程进行判断是否调用方法要向主线程发送信息。
/**********************************************************/
仅限参考,欢迎改进
大力支持,独立创新
/**********************************************************/
二、时钟
a.通过界面化设计
大致布局为:上 中:电子时间显示板
下左一:按钮Button("修改时间");
下左二:按钮Button("闹钟");
下右二:按钮Button("计时器");
下右一:按钮Button("游戏");
b.功能设计
view:
1.程序打开就开始调用方法读取系统时间,无其他操作时,显示板执行运行时间的程序
2.监控到修改时间,接受数据,给hour,min,sec重新赋值。并且时间程序的时间自此开始
可以进行修改12小时制 24小时制
3.闹钟,即对接受的hour1,min1,sec1,当时间hour,min,sec分别相等时,调用声音,程序响铃
4.引入计时器
5.监控到此按钮响应时,运行自行设计的小游戏(猜数,贪吃蛇,等)
c.功能实现:
页面:GUI
按钮:GUI可响应
程序:监控响应后,运行对应程序。
/*************************************************/
保持你的好奇心 发挥你的想象力
/*************************************************/
if error,tell me how should i do please,thanks