我有一个程序,只是需要所有状态为一组状态作为输入。 然后就是采取的下一个输入是所述一组状态中的初始状态,然后设置最终的状态。DFA字符串验证
接下来是一组过渡的,我走在状态之中。
例如:q0,1,q1
这意味着上输入的一个有从Q0到Q1的过渡。
每个国家都进入了过渡。
但在这里我所面对的是refrences可以以随机方式 是过渡可以是不重复的字符转换的n个,因此这个原因我想保持一个HashMap对象jumpled起来每个状态动态。
我该如何做到这一点?
我有一个程序,只是需要所有状态为一组状态作为输入。 然后就是采取的下一个输入是所述一组状态中的初始状态,然后设置最终的状态。DFA字符串验证
接下来是一组过渡的,我走在状态之中。
例如:q0,1,q1
这意味着上输入的一个有从Q0到Q1的过渡。
每个国家都进入了过渡。
但在这里我所面对的是refrences可以以随机方式 是过渡可以是不重复的字符转换的n个,因此这个原因我想保持一个HashMap对象jumpled起来每个状态动态。
我该如何做到这一点?
由于这是一个DFA,可以更容易和更有效,以保持从(状态,输入)对一个单一的散列映射到结果状态。 DFA属性保证可以以这种方式将转换关系视为一种功能。
所以,保持HashMap<StateInput, State> trans
做trans.put(StateInput(q0, 1), q1)
你给的例子,其中
class StateInput {
public State state;
public int input;
}
这样的事情,也许?
class State {
private Map<State, Character> transitions;
// ...
public void addTransition(State nextState, Character input) {
transistions.put(nextState, input);
}
// ...
}
现在StateInput类中Class对象的引用在上面的例子中获得了值q0。我不清楚StateInput类的构造函数中发生了什么。还有关于State类的构造函数。 addTransition被赋予在国家方面的关键,价值和焦炭分别键和值。但如果价值成为关键,它会更好吗? –