import algds.IOUtils;

public class aufgabe19b {

    public static boolean palindromic(String Zeichenkette) {

        String Rückwärts = "";
        String Vorwärts = "";
        String Alphabet = "abcdefghijklmnopqrstuvwxyz";

        /* Zuerst werden alle Großbuchstaben in Klein-
        /* buchstaben umgewandelt mit.toLowerCase
        /* analogdazu .toUpperCase */

        Zeichenkette = Zeichenkette.toLowerCase();

        /* Zunächst wird jede Position der Zeichenkette
        /* überprüft ob es sich um ein Buchstabe des Alpabets
        /* handelt, falls ja wird er in eine neue Zeichkette
        /* vorwärts gespeichert, alle anderen Zeichen werden also
        /* herrausgefiltert */

        for (int i=0; i<=(Zeichenkette.length()-1); i++){
            for (int j=0; j<=Alphabet.length()-1; j++)
            if (Zeichenkette.charAt(i)==Alphabet.charAt(j)) {
                Vorwärts = Vorwärts + Zeichenkette.charAt(i);
                break;
            }
        }
        /* Dann wird die Zeichenkette vorwärts in umge-
        /* kehrter Reihenfolge in die Zeichenkette
        /* rückwärts gespeichert*/

        for (int i=Vorwärts.length()-1; i>=0;--i)
        Rückwärts = Rückwärts + Vorwärts.charAt(i);

        /* Mit equals werden die Zeichenketten
        /* Vorwärts und Rückwärts verglichen
        /* Wenn sie gleich sind wird Wert true
        /* zurückgegeben */

        if (Vorwärts.equals(Rückwärts)==true)
        return true;
        else
        return false;
    }
    public static void main (String[] args) {
        String Zeichenkette;
        System.out.println("Welche Zeichenkette soll untersucht werden? ");
        Zeichenkette = IOUtils.readString();
        System.out.print(Zeichenkette);
        if (palindromic(Zeichenkette)==true)
        System.out.println(" ---> ist ein Palindrom!");
        else
        System.out.println(" ---> ist KEIN Palindrom!");
    }
}


