求高手指点一二,我需要用java编写一个定时器,每天8点开始执行,每一个小时执行一次,过了晚上12点停止

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求高手指点一二,我需要用java编写一个定时器,每天8点开始执行,每一个小时执行一次,过了晚上12点停止相关的知识,希望对你有一定的参考价值。

ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
        service.scheduleAtFixedRate(new TimerTask() 
            @Override
            public void run() 
               if(当前时间>8点)
                   dowork();//你要做的事
               
               if(当前时间>12点)
                   this.cancel();
               
            
        , 0, 1, TimeUnit.HOURS);

参考技术A 这个是要看写的复杂的好点,还是简单的烂代码。
如果是简单的烂代码,写个死循环,获取当前时间,如果时间到了你想要的时候就执行你想要执行的方法。

如果要写的好点。起一个线程,线程里给个死循环,获取当前时间,如果为你想要的时间,就另外起一个线程跑你要的程序,如果不是则当前线程睡30秒或者1分钟什么的。
参考技术B 直接用spring-quartz不是更简单 参考技术C 用时间调度框架吧。。包你满意 参考技术D 可以使用Timer完成

用java编写 输入一个整数N,统计1到N中有多少个奇数和偶数;求高手指点..

奇数就是不能被2整除的数,偶数就是能整除,所以N%2==0就能判断,那个计算个数,就一定要每个都做一次判断:for(i=0;i<N;i++)里面的自己写,但是怎么求得个数呢,对了!定义变量,num1和num2,分别计算奇数和偶数,if(N%2==0)num1++ else...这样就做出来了。。。 参考技术A import java.util.*;
public class t11

public static void main(String [] args)

while(true)
Scanner in = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n=in.nextInt();
int sum1=0;
int sum2=0;
for(int i=1;i<=n;i++)

if(i%2==0)
sum1++;
else
sum2++;

System.out.println("奇数:"+sum2+"个 "+"偶数:"+sum1+"个");


本回答被提问者和网友采纳
参考技术B 奇数就是%2 !=0 ,偶数就是 %2 = = 0,知道了这个,不是很简单么

以上是关于求高手指点一二,我需要用java编写一个定时器,每天8点开始执行,每一个小时执行一次,过了晚上12点停止的主要内容,如果未能解决你的问题,请参考以下文章

用java编写 输入一个整数N,统计1到N中有多少个奇数和偶数;求高手指点..

我写了一个java程序(有main函数的那种),我现在想让这个程序每天定时在服务器自动运行 ,望高手指点

怎么用C # winform 编写的音乐播放器? 求高手指点

魔兽自带地图编辑器触发事件中的循环函数和周期事件怎么设置啊 求高手指点

用 java swing做一个类似与微信的即时通讯界面,求高手指点

求个建站高手指点一二这个要怎么解决