-2
編輯:由於我尋求如何實現CTL和模型檢查序列的解釋,因此不是重複的。在java中構建狀態機/轉換系統需要幫助
我正在編寫一個模型檢查器在Java中,但我堅持設計過渡系統。類型(int,bool,string []或set,int []或set)的對象應該被添加到狀態列表中,作爲過渡系統。它應該是打印狀態和轉換的列表,例如(statenumber,bool,string [] transition,new int [] state)。現在只打印轉換對象和一些記憶我猜。看起來像這樣:Transition @ 11abc1234。我的問題是我應該使用哪些進一步的改進來打印(int,bool,string []或set,int []或set)?提前致謝!這裏是我的代碼:`import java.util。*;
公共類TS {
private int i;
private boolean bool;
private static List<Transition> transitions;
State initial;
private int[] state;
TS(State initial, boolean bool, List<Transition> transitions, int[] state)
{
this.initial = initial;
this.bool = bool;
TS.transitions = transitions;
this.state = state;
}
public State getNextState(Set<Condition> conditions) {
for(Transition transition : transitions) {
//boolean currentStateMatches = transition.old.equals(initial);
//boolean conditionsMatch = transition.accepted.equals(accepted);
if(Transition.from.equals(initial) && Transition.conditions.equals(conditions)
) {
return transition.to;
}
}
return null;
}
public static void main(String[] args)
{
transitions = new Transition(1, true, new String[] {"v"}, new int[] {2});
transitions = new Transition(2, false, new String[] {"v"}, new int[] {1, 4});
transitions = new Transition(3, false, new String[] {"c"}, new int[] {3});
transitions = new Transition(4, false, new String[] {"c"}, new int[] {4});
System.out.println(transitions);
}
}
import java.util.*;
公共類別轉換實現列表{
private int i;
private boolean b;
private String[] strings;
private int[] js;
public Transition(int i, boolean b, String[] strings, int[] js) {
this.i = i;
this.b = b;
this.strings = strings;
this.js = js;
}
public static State from;
public static Set<Condition> conditions;
public State to;
@Override
public boolean add(Transition e) {
// TODO Auto-generated method stub
return false;
}
@Override
public void add(int index, Transition element) {
// TODO Auto-generated method stub
}
@Override
public boolean addAll(Collection<? extends Transition> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean addAll(int index, Collection<? extends Transition> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public void clear() {
// TODO Auto-generated method stub
}
@Override
public boolean contains(Object o) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean containsAll(Collection<?> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public Transition get(int index) {
// TODO Auto-generated method stub
return null;
}
@Override
public int indexOf(Object o) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public Iterator<Transition> iterator() {
// TODO Auto-generated method stub
return null;
}
@Override
public int lastIndexOf(Object o) {
// TODO Auto-generated method stub
return 0;
}
@Override
public ListIterator<Transition> listIterator() {
// TODO Auto-generated method stub
return null;
}
@Override
public ListIterator<Transition> listIterator(int index) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean remove(Object o) {
// TODO Auto-generated method stub
return false;
}
@Override
public Transition remove(int index) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean removeAll(Collection<?> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean retainAll(Collection<?> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public Transition set(int index, Transition element) {
// TODO Auto-generated method stub
return null;
}
@Override
public int size() {
// TODO Auto-generated method stub
return 0;
}
@Override
public List<Transition> subList(int fromIndex, int toIndex) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object[] toArray() {
// TODO Auto-generated method stub
return null;
}
@Override
public <T> T[] toArray(T[] a) {
// TODO Auto-generated method stub
return null;
}
}
import java.util.*;
public class State
{
String state;
}
public class Condition {
String condition;
}
可能的重複[如何打印我的Java對象而不會得到「SomeType @ 2f92e0f4」?](http://stackoverflow.com/questions/29140402/how-do-i-print-my-java-object- without-getting-sometype2f92e0f4) –
不是真的,因爲我搜索我如何建立總狀態機的進一步解釋。 – Slow1mo
是的 - 這是你問題的主要部分,你不應該有兩部分問題。 –