java - 为具有 n 个状态的 FSM 定义状态。 (java)

标签 java enums state

我以前从未使用过枚举状态,最近遇到了它,我发现要定义一个 FSM,其中您(程序员)知道状态,代码如下所示:

enum States {state0, state1, state2}; //an example of a state machine with 3 states as defined by the programmer.

但我希望能够定义一个 FSM,让用户决定有多少个状态以及有哪些状态,有没有办法做到这一点?

最佳答案

你不能在这里使用枚举,它有固定的大小,但我想你可以这样做:

public class StateMachine {
    // it is up to you to define what a State and a Transition are
    private Set<State> possibleStates;
    private Set<Transition> transitions;
    private State currentState;

    // methods for adding and removing states
    // ...

    // methods for adding and removing transitions
    // ...    
}

关于java - 为具有 n 个状态的 FSM 定义状态。 (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26898856/

相关文章:

java - 与函数同时运行的进度条(在另一个类中)

C:关于typedef和enum

java - 为什么 Enum 中的静态方法 values() 和 valueOf() 是编译器添加的,而没有在 Enum 类中显式声明?

javascript - 如何检查 react shouldComponentUpdate 是否正常工作

java - 均衡java中的两个复杂对象(两个对象由其他对象制成)

collections - 使用泛型创建集合对象

javascript - react 下拉/选择不更新状态

c++ - 比使用流保存 boost 随机生成器状态更快的替代方法

java - 创建只有 ID 属性的实体表有意义吗?

c - C/gcc 中的枚举类型检查