Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //author: (c) Simon Fehrer 27.10.2010
- public class spamFilter
- {
- private int zustandA;
- private int zustandB;
- private int zustandC;
- //private int zustandC; //Nur A und B implementiert
- //weitere Zustände für andere Automaten/Aufgaben
- private char x;
- public void spamFi(String text)
- {
- zustandA = 0;
- zustandB = 0;
- zustandC = 0;
- for (int i = 0; i < text.length(); i++)
- {
- x = text.charAt(i);
- zustandA = sucheSOS(zustandA,x);
- System.out.println ("x: " + x + " ZustandA: " + zustandA);
- zustandB = sucheCh(zustandB,x);
- System.out.println ("x: " + x + " ZustandB: " + zustandB);
- zustandC = sucheDreiA(zustandC,x);
- System.out.println ("x: " + x + " ZustandC: " + zustandC);
- }
- if (zustandA == 9999 && zustandB == 9999 && zustandC == 3)
- {
- System.out.println ("ERFOLG!! Alles voller SPAM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!!!1!");
- }
- }
- public int sucheSOS (int zustandA,char a)
- {
- switch (zustandA)
- {
- case 0:
- switch (a)
- {
- case 'S': zustandA = 1; break;
- default: zustandA = 0; break;
- }
- break;
- case 1:
- switch (a)
- {
- case 'O': zustandA = 2; break;
- default: zustandA = 0; break;
- }
- break;
- case 2:
- switch (a)
- {
- case 'S': zustandA = 9999; break;
- default: zustandA = 0; break;
- }
- break;
- }
- return zustandA;
- }
- public int sucheCh (int zustandB,char a)
- {
- switch (zustandB)
- {
- case 0:
- switch (a)
- {
- case 'C': zustandB = 1; break;
- case ' ': zustandB = 0; break;
- default: zustandB = 2; break;
- }
- break;
- case 1:
- switch (a)
- {
- case 'h': zustandB = 9999; break;
- default: zustandB = 2; break;
- }
- break;
- case 2: //Blank/leeres Zeichen
- switch (a)
- {
- case ' ': zustandB = 0; break;
- default: zustandB = 2; break;
- }
- break;
- }
- return zustandB;
- }
- public int sucheDreiA (int zustandC,char a)
- {
- switch (zustandC)
- {
- case 0:
- switch (a)
- {
- case 'a': zustandC = 1; break;
- default: zustandC = 0; break;
- }
- break;
- case 1:
- switch (a)
- {
- case 'a': zustandC = 2; break;
- default: zustandC = 1; break;
- }
- break;
- case 2:
- switch (a)
- {
- case 'a': zustandC = 3; break;
- default: zustandC = 2; break;
- }
- break;
- case 3:
- switch (a)
- {
- case 'a': zustandC = -1; break;
- default: zustandC = 3; break;
- }
- break;
- }
- return zustandC;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement