Palindrom

PeterK

Mitglied
Guten Abend,

ich bin gerade dabei ein Programm zu schreiben in dem ich testen kann ob ein Palindrom eingegeben wurde oder nicht. Dazu habe ich ein Feld erzeugt und dieses mit Hilfe einer eingelesenen Zeichenkette beschrieben.

Zuerst hatte ich vor das erste Feld zu spiegeln und die beiden Felder miteinander zu vergleichen, dann bin ich jedoch auf die Idee gekommen, dass ich auch einfach mit einer for-Schleife einmal beginnend vom Anfang und einmal vom Ende des Feldes die Feldkomponenten miteinander vergleiche. Leider habe ich es bis jetzt aber nicht geschafft die for Schleife zu formulieren. Hat jemand eventuell eine Idee?

Mfg
Peter
 

eRaaaa

Top Contributor
Naja von 0 bis Länge/2 und dann eben den Char an Stelle i mit Char an Stelle Länge-i-1 vergleichen...
Oder man benutzt den Klassiker mit dem StringBuilder und der reverse Methode :>
 

PeterK

Mitglied
Irgendwie krieg ich das gerade nicht hin. Kann mir jemand mal eine Ausformulierte Schleife zeigen, das ich zumindest mal nachvollziehen kann wie es geht?

Danke im Voraus.
 

eRaaaa

Top Contributor
.....
Java:
		String s  = "reittier";
		for (int i = 0; i < s.length()/2; i++) {
			System.out.println(s.charAt(i)+" "+s.charAt(s.length()-i-1));
		}
 

mail

Mitglied
hier ist noch anzumerken, dass bei ungerader Länge abgerundet wird (s.length()/2), weshalb ein Vergleich mit zwei schon mal verglichenen Chars nicht zweimal vorkommt.
 

frostbyte

Aktives Mitglied
Bei der for-Schleife hast du evtl. auch das Problem, dass es bei einem Multibytecharset wie UTF-8 nicht hinhaut. Da würdest du dann das erste und zweite byte vertauschen. Der StringBuilder achtet hoffentlich drauf.
 
H

Herr K.

Gast

Mizar

Aktives Mitglied
Java:
String str = "Die Liebe ist Sieger; stets rege ist sie bei Leid.".replaceAll("\\W", "");
boolean isPalindrome = new StringBuilder(str).reverse().toString().equalsIgnoreCase(str);
System.out.println("Palindrom? " + isPalindrome);
 

Davide

Mitglied
[Java]
public boolean isPalindrom(String palindrom) {

StringBuilder revers = new StringBuilder(palindrom);
String palinRevers = revers.reverse().toString().toLowerCase().replaceAll("\\W", "");

if(palindrom.toLowerCase().replaceAll("\\W", "").equals(palinRevers)) {
return true;
}

return false;
}
[/Java]
 
Zuletzt bearbeitet:

frostbyte

Aktives Mitglied
[Java]
public boolean isPalindrom(String palindrom) {

StringBuilder revers = new StringBuilder(palindrom);
String palinRevers = revers.reverse().toString().toLowerCase().replaceAll("\\W", "");

return palindrom.toLowerCase().replaceAll("\\W", "").equals(palinRevers);
}
[/Java]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
A Palindrom Java Basics - Anfänger-Themen 3
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
H Palindrom ermitteln Java Basics - Anfänger-Themen 21
N palindrom erkennen Java Basics - Anfänger-Themen 3
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
L Palindrom in zweidimensionalem Array Java Basics - Anfänger-Themen 16
B Palindrom Test mit Junit Java Basics - Anfänger-Themen 23
T Auf Palindrom überprüfen Java Basics - Anfänger-Themen 10
R Best Practice Palindrom in einem Text finden Java Basics - Anfänger-Themen 18
L In Javakara Palindrom erkennen. Java Basics - Anfänger-Themen 9
P Programm Hilfe Palindrom Java Basics - Anfänger-Themen 6
C Bei der LinkedList auf Palindrom überprüfen Java Basics - Anfänger-Themen 4
Y Rekursiv Palindrom herausfinden Java Basics - Anfänger-Themen 5
C Palindrom im array Java Basics - Anfänger-Themen 5
R Palindrom eines int-Arrays berechnen Java Basics - Anfänger-Themen 14
D Palindrom Java Basics - Anfänger-Themen 15
H Palindrom Programm Java Basics - Anfänger-Themen 8
K Palindrom Test Java Basics - Anfänger-Themen 9
C Überprüfen auf Palindrom Java Basics - Anfänger-Themen 12
R In einem Palindrom 2 Buchstaben vergleichen Java Basics - Anfänger-Themen 16
H Palindrom Java Basics - Anfänger-Themen 7
NoXiD Auf Palindrom Prüfen Java Basics - Anfänger-Themen 9
M Palindrom mit Groß & kleinbuchstaben Java Basics - Anfänger-Themen 19
M Palindrom Test mit Char-arrays! Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben