2

@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;
}
}

前もってありがとう、ディナ。

4

2 に答える 2

2

あなたのメソッドはプライベートだからです。機能させるには、パブリックに変更する必要があります。

于 2017-04-25T14:38:05.800 に答える
0

@ScheduledMethod にも同様の問題がありました。単にメソッドが実行されませんでした。

ただし、別の方法でメソッドをスケジュールすることで実行できました。次のように検索できます。

ISchedule schedule = RunEnvironment.getInstance().getCurrentSchedule();
ScheduleParameters  generate = ScheduleParameters.createRepeating(start = 1, interval = 1, priority = 2);
schedule.schedule(generate , this ,"generatePower");

このコード スニペットを、最初に (おそらく) 同じクラスで 1 回実行することをお勧めします。

スケジュールの詳細については、 Repast Simphony FAQを参照してください。

お役に立てば幸いです、ソーベン

于 2015-10-07T09:14:00.657 に答える