ENTDECKEN – Arrays

Arrays werden auch eindimensionale Felder genannt. Die Funktion static boolean isPalindrom(char[] text) soll überprüfen, ob es sich beim Inhalt von text um ein Palindrom handelt. Ein Palindrom ist ein Wort, das von vorne und von hinten gelesen gleich lautet (z.B. UHU, ANNA, OTTO).
Image
Zuerst überprüfen wir, ob das übergebene Feld null ist oder ein Feld der Länge 0 (oder mit negativer Länge) übergeben wurde. Du solltest immer auf eine korrekte Behandlung solcher Sonder- bzw. Fehlerfälle zu Beginn der Methode/Funktion achten!
Image

Jetzt wollen wir schrittweise jeweils vorne und hinten im Feld alle Buchstaben miteinander vergleichen.

Dazu legen wir uns zwei Variablen an, in denen wir die Indizes der Elemente speichern, die wir gerade vergleichen. Die erste Variable i startet bei 0 (ganz vorne im Feld), die zweite Variable j startet bei text.length-1 (ganz hinten im Feld).
Image
Die Vergleiche der Buchstaben machen wir so lange, bis die beiden Indizes sich überkreuzen.
Image
Sobald wir zwei Buchstaben entdecken, die nicht gleich sind, wissen wir, dass es sich um kein Palindrom handelt. Dazu vergleichen wir den Wert des Elements an der Stelle i mit dem Wert des Elements an der Stelle j.
Image
Für den nächsten Schritt müssen wir den Wert von i erhöhen und den von j verringern (i und j „wandern“ einander entgegen).
Image
Wurden am Ende alle Buchstaben verglichen und wurde kein unterschiedlicher Buchstabe entdeckt, sind wir fertig und können den Wert true zurückliefern.
Image
Nun wollen wir die Funktion isPalindrom noch testen. Dazu legen wir uns einige Beispiel-Felder in der main Methode an und rufen mit diesen Feldern als Parameter jeweils die Funktion isPalindrom auf.
Image
Teste nun das fertig implementiere Programm im kooperativen Online-Editor repl.it: https://repl.it/@IrisGroher/Palindrom