java编程:我要做一个提醒日程的软件,不是要用到日历和时钟么,这个要不要自己编,还是可以直接同步电脑上
3个回答
展开全部
有个线程每隔一定时间扫描是否有任务需要提醒。(如有3个任务,时间分别为T1,T2,T3)
则在线程中每个一定的时间取出当前的系统时间,然后根T1,T2,T3对比,看是否当前时间等于T1,T2,T3的一个,有就提醒。
public class RemindThread implements Runnable {
public void run() {
while (true) {
Calendar c= Calendar.getInstance();
// 循环任务列表
for (int i=0;i<tasks.size();i++) {
Task t = (Task)tasks.get(i);
// 你可以在Task中增加一个方法,判断任务是否等于当前系统时间。参数为当前系统时间,你将Calendar参数传进去。比如方法是public boolean isStart(Calendar c) {...},在方法中
// 获取年,月,日,时,分,秒
// 请使用Calendar的get(int field)方法获取,如获取年:c.get(Calendar.YEAR);
// 根你的任务时间对比。
// 那么这里你就可以这样。
if (task.isStart(c)) {
task.remind(); // 调用任务的提醒方法。
}
Thread.sleep(1000); // 1s检测1次。
}
}
}
ps:未处理异常。
}
则在线程中每个一定的时间取出当前的系统时间,然后根T1,T2,T3对比,看是否当前时间等于T1,T2,T3的一个,有就提醒。
public class RemindThread implements Runnable {
public void run() {
while (true) {
Calendar c= Calendar.getInstance();
// 循环任务列表
for (int i=0;i<tasks.size();i++) {
Task t = (Task)tasks.get(i);
// 你可以在Task中增加一个方法,判断任务是否等于当前系统时间。参数为当前系统时间,你将Calendar参数传进去。比如方法是public boolean isStart(Calendar c) {...},在方法中
// 获取年,月,日,时,分,秒
// 请使用Calendar的get(int field)方法获取,如获取年:c.get(Calendar.YEAR);
// 根你的任务时间对比。
// 那么这里你就可以这样。
if (task.isStart(c)) {
task.remind(); // 调用任务的提醒方法。
}
Thread.sleep(1000); // 1s检测1次。
}
}
}
ps:未处理异常。
}
展开全部
运用相关类Data Calendar DateFormat SimpleDataFormat可以取得系统日期,利用线程让它动起来就可以了,可以再设置定时更新保持准确性
更多追问追答
追问
不懂怎么把它嵌入到日程当中去,可不可以仔细讲一下
追答
我不是很明白你的意思 嵌入到日程当中去?
构造方法传参数进来,使用定义的变量接受,在线程方法run中加个判断语句判断当前日期是否符合传进来的日期进行相应操作,因为它线程一秒一秒地跑吧,那么,在指定日期例如3月19日0秒的时候符合条件就会进行输出操作xxx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jdk提供了一个calendar借口,可以直接取得系统时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询