Finite state machine: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (Reverted edits by 7beckham (talk) to last revision by Thundergnat) |
|||
Line 328: | Line 328: | ||
public class FiniteStateMachine { |
public class FiniteStateMachine { |
||
private enum |
private enum State { |
||
Ready(true, "Deposit", "Quit"), |
|||
Waiting(true, "Select", "Refund"), |
|||
Dispensing(true, "Remove"), |
|||
Refunding(false, "Refunding"), |
|||
Exiting(false, "Quiting"); |
|||
Shoot(false, "VS"); //N.*USA CYBER COMMENT: our solution have only one state true |
|||
State(boolean exp, String... in) { |
|||
State(boolean exp, String... in) { //N.*USA CYBER COMMENT: for unlimited String.N.2: possible our solution invoque //method by name built from String very deprecated becouse no haking in work.solution: Table Method SO.? |
|||
inputs = Arrays.asList(in); |
inputs = Arrays.asList(in); |
||
explicit = exp; |
explicit = exp; |
||
} |
} |
||
State nextState(String input, |
State nextState(String input, State current) { |
||
if (inputs.contains(input)) { |
if (inputs.contains(input)) { |
||
return map.getOrDefault(input, current); |
return map.getOrDefault(input, current); |