A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© て淡莣了陌生 中级黑马   /  2013-5-14 09:46  /  1050 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 て淡莣了陌生 于 2013-5-14 17:29 编辑

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

public class Demo1 {

        @SuppressWarnings("deprecation")
        public static void main(String[] args) {
                Timer t = new Timer();
                Calendar c = Calendar.getInstance();
                c.set(2013, 4, 14, 9, 39, 58);
                t.schedule(new MyTask(), c.getTime());
        }

}

class MyTask extends TimerTask{

        public void run() {
                System.out.println("Java");
        }
        
}
这段代码有问题吗,为什么刚一执行就会先打印出一个Java,然后到指定时间后再打印一个Java,这是什么原因啊?如果用过时的Date就不会出现这种情况了,郁闷聊聊,谁能帮忙解释一下啊???谢谢了!!

评分

参与人数 1技术分 +1 收起 理由
刘胜寒 + 1

查看全部评分

3 个回复

正序浏览
代码没问题,,
TimerTask里面有个scheduledExecutionTime,你在百度一下了。。


楼主如果以后帖子解决了。。
你要及时结贴。。
回复 使用道具 举报
liuelxiwd 发表于 2013-5-14 10:36
时间里面的日期写错了吧?今天是2013/5/14

没写错。
java Calendar中的月份是从0 开始11 结束的。。
回复 使用道具 举报
时间里面的日期写错了吧?今天是2013/5/14
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马