Advertisement
bebesurf

Jeu de tests Automate Smiley

Oct 5th, 2018
424
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.18 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class Application {
  5.  
  6.     public static void main(String[] args) {
  7.  
  8.         State e0 = new State(new String("e0"));
  9.         State h1 = new State(new String("h1"));
  10.         State h2 = new State(new String("h2"));
  11.         State h = new State(new String("h"));
  12.         State m = new State(new String("m"));
  13.  
  14.         Label v0 = new Label(new String(":"));
  15.         Label v1 = new Label(new String(";"));
  16.         Label v2 = new Label(new String("-"));
  17.         Label v3 = new Label(new String("="));
  18.         Label v4 = new Label(new String(")"));
  19.         Label v5 = new Label(new String("("));
  20.  
  21.         e0.addTransition(v0, h1);
  22.         e0.addTransition(v1, h1);
  23.         h1.addTransition(v2, h);
  24.         h1.addTransition(v3, h);
  25.         h2.addTransition(v2, h);
  26.         h.addTransition(v4, m);
  27.         h.addTransition(v5, m);
  28.  
  29.         ArrayList<State> states = new ArrayList<>();
  30.  
  31.         states.add(e0);
  32.         states.add(h1);
  33.         states.add(h2);
  34.         states.add(h);
  35.         states.add(m);
  36.  
  37.         ArrayList<State> finalStates = new ArrayList<>();
  38.         finalStates.add(m);
  39.         NierAuxTomates auxTomates = new NierAuxTomates(e0, finalStates, states);
  40.  
  41.         String[] resultat;
  42.         String typed;
  43.         Scanner reader = new Scanner(System.in);
  44.         Label[] values;// = new Label[]{v0,v2,v42,v0,v0};
  45.         values = new Label[5];
  46.  
  47.         while (true) {
  48.             System.out.println("Please type an hour, or if you want to leave, type \"leave\" : ");
  49.             typed = reader.next();
  50.             if (typed.contains("leave")) System.exit(0);
  51.             if (typed.length() == 3) {
  52.                 for (int i = 0; i <= 2; i++) {
  53.                     switch (String.valueOf(typed.charAt(i))) {
  54.                         case ":":
  55.                             values[i] = v0;
  56.                             break;
  57.                         case ";":
  58.                             values[i] = v1;
  59.                             break;
  60.                         case "-":
  61.                             values[i] = v2;
  62.                             break;
  63.                         case "=":
  64.                             values[i] = v3;
  65.                             break;
  66.                         case ")":
  67.                             values[i] = v4;
  68.                             break;
  69.                         case "(":
  70.                             values[i] = v5;
  71.                             break;
  72.                         default:
  73.                             values[0] = null;
  74.                             break;
  75.                     }
  76.                 }
  77.  
  78.                 if (values[0] != null) {
  79.                     resultat = auxTomates.execute(values);
  80.                     if (resultat[0] != null) {
  81.                         System.out.println("Possible combination, here is the result : " + resultat[0] + resultat[1] + resultat[2]);
  82.                     } else {
  83.                         System.out.println("Impossible combination");
  84.                     }
  85.                 }
  86.                 else{
  87.                     System.out.println("Impossible combination");
  88.                 }
  89.             }
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement