import java.util.Scanner; public class Automat1 { private static Scanner sc = new Scanner(System.in); // varijabla u kojoj pamtim stanje: private static String stanje = "S0"; public static void main(String[] args) { System.out.println("Na izlazu držim: "+odrediIzlaz(stanje)); while(true) { char ulaz = sc.next().toUpperCase().charAt(0); if(ulaz!='A' && ulaz!='B') { System.out.println("Neispravan ulaz!"); continue; } prihvati(ulaz); } } private static void prihvati(char ulaz) { // Ažuriraj stanje: stanje = predloziSljedeceStanje(stanje, ulaz); // Odredi i zapiši novi izlaz: System.out.println("Na izlazu držim: "+odrediIzlaz(stanje)); } private static String predloziSljedeceStanje(String stanje, char ulaz) { switch(stanje) { case "S0": if(ulaz=='A') return "S1"; else return "S0"; case "S1": if(ulaz=='A') return "S2"; else return "S0"; case "S2": if(ulaz=='A') return "S2"; else return "S0"; default: return "S0"; } } private static char odrediIzlaz(String stanje) { switch(stanje) { case "S0": return 'N'; case "S1": return 'N'; case "S2": return 'D'; default: return 'N'; } } }