我atempting实现(使用Java),一个有限状态机,我只能坚持了以下问题如何实现与Java枚举“环状” FSM
我的要求是,我有一个需要系统循环通过一组已知状态
例如S1 -> S2 -> S3 ... SN -> S1
然后停止,一旦它已经回到它的初始状态。
问题是初始状态可以是任何已知的状态,例如S1到SN(和我的控制)
无论状态开始我需要确保所有其他国家正在返回 到任何初始状态是
我想之前在正确的顺序“参观”的怪圈采用一个枚举如下: -
https://www.mirkosertic.de/blog/2013/04/implementing-state-machines-with-java-enums/
public enum State {
INITIAL {
@Override
State doSomething(final String aParameter) {
System.out.println("Doing Something in INITIAL state and jumping to NEXT_STEP, argument = " + aParameter);
return NEXT_STEP;
}
},
NEXT_STEP {
@Override
State doSomething(final String aParameter) {
System.out.println("Doing Something in NEXT_STEP and jumping into FINAL, argument = " + aParameter);
return FINAL;
}
},
FINAL {
@Override
State doSomething(final String aParameter) {
System.out.println("I am in FINAL state, argument = " + aParameter);
return this;
}
};
abstract State doSomething(String aParameter);
}
我怎样才能实现循环FSM?
感谢这一点,我想你的意思是S2返回S3虽然 – Hector
@Hector权,纠正。 – lexicore