由于某些原因,当我使用@ScheduledMethod时,我的方法不会被调用。不知道我以前用过什么是错的,一切都很好。
以下是代码:
import repast.simphony.engine.schedule.ScheduledMethod;
public class WindGen {
private double power;
@ScheduledMethod(start = 1, interval = 1, priority = 2)
private void generatePower() {
int t = SystemOperator.getT();
power = 20 * Math.sin(Math.toRadians(t * 360 / 48) + 30);
}
public double getPower() {
return power;
}
}
提前致谢, 迪娜。
答案 0 :(得分:2)
因为您的方法是私有的。您需要将其更改为公开才能使其正常工作。
答案 1 :(得分:0)
@ScheduledMethod遇到了类似的问题:它根本没有执行我的方法。
但是,我确实通过以不同的方式安排方法来运行它, 可以按照以下方式找你:
ISchedule schedule = RunEnvironment.getInstance().getCurrentSchedule();
ScheduleParameters generate = ScheduleParameters.createRepeating(start = 1, interval = 1, priority = 2);
schedule.schedule(generate , this ,"generatePower");
我建议您尝试执行此代码段一次,最初和(可能)在同一个类中。
您可以在中找到有关日程安排的更多信息 Repast Simphony FAQ
希望它有所帮助,Thorben