Weil ich deine Klasse "StdEingabe" nicht besitze fiel es mir schwer an deinem Beispiel anzuknüpfen, also habe ich einfach eine String-Instanz mit einem Beispielwert befüllt.
Du kannst dir die Klasse ja dann soweit anpassen ^^
Code:
class Palindrome
{
public static void main(String [] args)
{
String word = new String();
// TODO: den String "word" von der Tastatur einlesen
word = "otto";
if (check(word))
{
System.out.println("Das Wort \"" + word + "\" ist ein Palindrom!");
}
else
{
System.out.println("Das Wort \"" + word + "\" ist kein Palindrom!");
}
}
public static boolean check(String str)
{
int len = str.length() - 1;
for(int i = 0; i <= len; i++)
{
if (str.toLowerCase().charAt(i) != str.toLowerCase().charAt(len - i))
{
return false;
}
}
return true;
}
}
Getestet habe ich das ganze mit folgenden Palindromen:
Code:
Hannah
Lagerregal
Otto
Reittier
Reliefpfeiler
Rentner
Rotor
(Qulle: Wikipedia (http://de.wikipedia.org/wiki/Palindrom), 17.12.2008)
und noch mit ein paar nicht-Palindromen
PS: da sich unsere beiden Ansätze nur in deiner Umwandlung von String zu char-Array unterscheiten würde ich sagen, dass der Fehler dort zu finden ist.
mfG. BlackBerry