java在一定时间后执行几行程序
我想在几秒钟后执行几行程序。这是怎么做到的
我已经试过了,但没用。灯应该在一定的秒数后打开和关闭
如果这是一个愚蠢的问题,初学者程序非常抱歉
package io.github.zeroone3010.yahueapi;
import org.omg.PortableServer.POAManagerPackage.State;
import java.util.*;
public class looptest
{
public static void main(String args[])
{
final String bridgeIp = "ip";
final String apiKey = "key";
final Hue hue = new Hue(bridgeIp, apiKey);
final Room room = hue.getRoomByName("Woonkamer").get();
int counter = 0;
boolean loop;
Timer timer = new Timer();
new java.util.Timer().schedule(
new java.util.TimerTask()
{
int secondsPassed = 0 ;
public void run()
{
secondsPassed++;
System.out.println(secondsPassed);
room.getLightByName("Tv 1").get().turnOn();
if (secondsPassed > 3) // after 3 seconds tv 2 on
room.getLightByName("Tv 2").get().turnOn();
if (secondsPassed > 11) // after 11 seconds tv 1 and 2 off
room.getLightByName("Tv 1").get().turnOff();
room.getLightByName("Tv 2").get().turnOff();
}
},
5000
};
{
# 1 楼答案
我可以在你的代码中看到一个语法错误。你错过了关闭计时器。计划()正确地使用大括号代替括号)。请更新
Snipplet:Java TimerTask示例
# 2 楼答案
我理解你的意图是:
你应该在主方法中打开“Tv 1”灯(在Timer.schedule块之外)。此外,您还应将未来的两项活动安排为独立任务,并适当延迟,如下所示:
我希望有帮助