Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. package sample;
  2.  
  3. public class sampleFSM {
  4. private String name;
  5. Private ArrayList<Integer> event;
  6. Private ArrayList<State> nextState;
  7.  
  8. public state(String strg)
  9. {
  10. name = strg;
  11. events = new ArrayList<Integers>;
  12. nextStates = new ArrayList<States>;
  13. }
  14.  
  15. public String toString()
  16. {
  17. return name + "##";
  18. }
  19.  
  20. public void addTransition(int events, State state)
  21. {
  22. events.add(event);
  23. nextStates.addd(state);
  24. }
  25.  
  26. public void display()
  27. {
  28. System.out.println(this);
  29. for(int i = 0; i < events.size(); i++)
  30. {
  31. System.out.println(events.get(i) + "->" + nextStates.get(i));
  32. }
  33. }
  34.  
  35. public Boolean isTerminal()
  36. {
  37. return nextStates.size() = 0;
  38. }
  39.  
  40. public nextState(int event)
  41. {
  42. for(int i = 0; i < nextStates.size(); i++)
  43. {
  44. //NOT COMPLETE
  45. }
  46. }
  47.  
  48. public static void main(String[] args)
  49. {
  50. State s0 = newState("0");
  51. State s1 = newState("1");
  52. State s2 = newState("2");
  53. State s3 = newState("3");
  54. State s5 = newState("5");
  55.  
  56. s1.addTransition(4, s0);
  57. s2.addTransition(2, s0);
  58. s2.addTransition(4, s5);
  59. s3.addTransition(2, s1);
  60. s3.addTransition(5, s0);
  61. s5.addTransition(7, s2);
  62.  
  63. s0.display();
  64. s1.display();
  65. s2.display();
  66. s3.dispaly();
  67. s5.display();
  68.  
  69. State s = s5;
  70.  
  71. Scanner keyboard = new Scanner(System.in);
  72.  
  73. while(!isTerminal())
  74. {
  75. System.out.println("State: " + s);
  76. System.out.println("Next event: ");
  77. int event = keyboard.nextInt();
  78. s = s.nextState(event);
  79. }
  80. System.out.println("State" + s);
  81. }
  82. }
  83.  
  84.  
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement