Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.66 KB | None | 0 0
  1. //author: (c) Simon Fehrer 27.10.2010
  2.  
  3. public class spamFilter
  4. {
  5.     private int zustandA;
  6.     private int zustandB;
  7.     private int zustandC;
  8.   //private int zustandC; //Nur A und B implementiert
  9.   //weitere Zustände für andere Automaten/Aufgaben
  10.     private char x;
  11.    
  12.     public void spamFi(String text)
  13.     {
  14.         zustandA = 0;
  15.         zustandB = 0;
  16.         zustandC = 0;
  17.         for (int i = 0; i < text.length(); i++)
  18.         {
  19.             x = text.charAt(i);
  20.             zustandA = sucheSOS(zustandA,x);
  21.             System.out.println ("x: " + x + " ZustandA: " + zustandA);
  22.             zustandB = sucheCh(zustandB,x);
  23.             System.out.println ("x: " + x + " ZustandB: " + zustandB);
  24.             zustandC = sucheDreiA(zustandC,x);
  25.             System.out.println ("x: " + x + " ZustandC: " + zustandC);
  26.         }
  27.         if (zustandA == 9999 && zustandB == 9999 && zustandC == 3)
  28.         {
  29.             System.out.println ("ERFOLG!! Alles voller SPAM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!!!1!");
  30.         }
  31.     }
  32.    
  33.     public int sucheSOS (int zustandA,char a)
  34.     {
  35.         switch (zustandA)
  36.         {
  37.             case 0:
  38.                 switch (a)
  39.                 {
  40.                     case 'S': zustandA = 1; break;
  41.                     default: zustandA = 0; break;
  42.                 }
  43.                 break;
  44.             case 1:
  45.                 switch (a)
  46.                 {
  47.                     case 'O': zustandA = 2; break;
  48.                     default: zustandA = 0; break;
  49.                 }
  50.                 break;
  51.             case 2:
  52.                 switch (a)
  53.                 {
  54.                     case 'S': zustandA = 9999; break;
  55.                     default: zustandA = 0; break;
  56.                 }
  57.                 break;
  58.          }
  59.          return zustandA;
  60.     }
  61.    
  62.     public int sucheCh (int zustandB,char a)
  63.     {
  64.         switch (zustandB)
  65.         {
  66.             case 0:
  67.                 switch (a)
  68.                 {
  69.                     case 'C': zustandB = 1; break;
  70.                     case ' ': zustandB = 0; break;
  71.                     default: zustandB = 2; break;
  72.                 }
  73.                 break;
  74.             case 1:
  75.                 switch (a)
  76.                 {
  77.                     case 'h': zustandB = 9999; break;
  78.                     default: zustandB = 2; break;
  79.                 }
  80.                 break;
  81.             case 2:         //Blank/leeres Zeichen
  82.                 switch (a)
  83.                 {
  84.                     case ' ': zustandB = 0; break;
  85.                     default: zustandB = 2; break;
  86.                 }
  87.                 break;
  88.          }
  89.          return zustandB;
  90.     }
  91.    
  92.     public int sucheDreiA (int zustandC,char a)
  93.     {
  94.         switch (zustandC)
  95.         {
  96.             case 0:
  97.                 switch (a)
  98.                 {
  99.                     case 'a': zustandC = 1; break;
  100.                     default: zustandC = 0; break;
  101.                 }
  102.                 break;
  103.             case 1:
  104.                 switch (a)
  105.                 {
  106.                     case 'a': zustandC = 2; break;
  107.                     default: zustandC = 1; break;
  108.                 }
  109.                 break;
  110.             case 2:
  111.                 switch (a)
  112.                 {
  113.                     case 'a': zustandC = 3; break;
  114.                     default: zustandC = 2; break;
  115.                 }
  116.                 break;
  117.             case 3:
  118.                 switch (a)
  119.                 {
  120.                     case 'a': zustandC = -1; break;
  121.                     default: zustandC = 3; break;
  122.                 }
  123.                 break;
  124.          }
  125.          return zustandC;
  126.     }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement