Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- public class sampleFSM {
- private String name;
- Private ArrayList<Integer> event;
- Private ArrayList<State> nextState;
- public state(String strg)
- {
- name = strg;
- events = new ArrayList<Integers>;
- nextStates = new ArrayList<States>;
- }
- public String toString()
- {
- return name + "##";
- }
- public void addTransition(int events, State state)
- {
- events.add(event);
- nextStates.addd(state);
- }
- public void display()
- {
- System.out.println(this);
- for(int i = 0; i < events.size(); i++)
- {
- System.out.println(events.get(i) + "->" + nextStates.get(i));
- }
- }
- public Boolean isTerminal()
- {
- return nextStates.size() = 0;
- }
- public nextState(int event)
- {
- for(int i = 0; i < nextStates.size(); i++)
- {
- //NOT COMPLETE
- }
- }
- public static void main(String[] args)
- {
- State s0 = newState("0");
- State s1 = newState("1");
- State s2 = newState("2");
- State s3 = newState("3");
- State s5 = newState("5");
- s1.addTransition(4, s0);
- s2.addTransition(2, s0);
- s2.addTransition(4, s5);
- s3.addTransition(2, s1);
- s3.addTransition(5, s0);
- s5.addTransition(7, s2);
- s0.display();
- s1.display();
- s2.display();
- s3.dispaly();
- s5.display();
- State s = s5;
- Scanner keyboard = new Scanner(System.in);
- while(!isTerminal())
- {
- System.out.println("State: " + s);
- System.out.println("Next event: ");
- int event = keyboard.nextInt();
- s = s.nextState(event);
- }
- System.out.println("State" + s);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement