Auf Palindrom testen

Niklas102030

Grünschnabel
Ich möchte gerne das was im ersten Textfeld steht auf ein Palimdrom testen und darauffolgend eine Nachricht im zweiten Textfeld ausgeben. Was mache ich falsch? Hier der Code:
private void palindrom() {
String eingabe = jTextFieldEingabe.getText();
String ausgabe = jTextFieldAusgabe.getText();
int anzahl = eingabe.length();
String rueckwaerts = eingabe.substring(anzahl,0);
String vorwaerts = eingabe.substring(0,anzahl);
if (rueckwaerts == vorwaerts) {
jTextFieldAusgabe.setText("Ein Palindrom ist vorhanden!");
jTextFieldEingabe.setText("");
} else {
jTextFieldAusgabe.setText("Kein Palindrom ist vorhanden!");
jTextFieldEingabe.setText("");
}
}
 
also mit substring kommst du hier nicht weiter - der dreht ein String nicht um

du wirst um eine Schleife die Zeichen für zeichen prüft nicht herum kommen.

Code:
int posanf = 0;
int posend = eingabe.length()-1;

while ((eingabe.charAt(posanf) == eingabe.charAt(posend)) &&  (posend > 0)) {
  posanf++;
  posend--;
}

if (posend == 0 ) {
jTextFieldAusgabe.setText("Ein Palindrom ist vorhanden!");
} else {
jTextFieldAusgabe.setText("Kein Palindrom ist vorhanden!");
}
 
Doch das geht auch ohne Schleife.

Java:
String rueckwaerts = new StringBuilder(vorwaerts).reverse().toString();
if(rueckwaerts.equals(vorwaerts)) {
    System.out.println("Palindrom festgestellt");
}
 
Zurück