Hallo liebe Community,
ich möchte mich zunächst einmal vorstellen. Ich bin Informatikstudent, jedoch leider mit sehr geringem Wissen sowie Erfahrung im Programmieren ausgestattet . (Meine Stärken liegen eher in der Mathematik).
Sei´s drum. Ich habe eine Aufgabe gestellt bekommen an der ich am verzweifeln bin. Und zwar folgende:
Aufgabentext:
Palindrome sind Wörter, die vorwärts und
rückwärts gelesen genau die gleiche Buchstabenfolge ergeben. Beispiele: Otto, Reittier
oder Rentner
Implementieren Sie folgenden Methode die prüft, ob ein übergebener String ein Palindrom
ist, oder nicht. Die Groß/Kleinschreibung soll dabei ignoriert werden. Die Klassen
String und ggf. Character stellen alle Methoden bereit, die Sie dafür benötigen.
public s tat ic boolean isPalindrome ( St r ing pWord ) ;
Testen Sie diese Methode zunächst in dem es für das Programm Palindrome verwenden.
Das Programm prüft alle Wörter die beim Programmstart als Parameter übergeben
werden darauf, ob sie ein Palindrom sind. Jeder Parametereintrag im statischen String-
Array wird dabei als separates Wort interpretiert. Das Programm gibt die erkannten
Palindrome auf der Konsole aus.
Beispielaufruf:
java -jar palindrome.jar Das Reittier wirft Otto ab
Ausgabe:
Reittier
Otto
Zunächst einmal: Ja ich habe die Suche im Forum verwendet, aber leider keine hilfreichenden Threads gefunden, die mir geholfen hätten, dass spezifische Problem so zu lösen, auch wenn es schon Themen über "Palindrome" gibt
So, nun habe ich mich also daran versucht und folgenden Code erstellt. Ich kann mir gut vorstellen, dass der ein oder andere sich die Hände vor den Kopf schlagen wird, aber wie eingangs erläutert sind meine Kenntnisse noch sehr begrenzt auch wenn ich mich stets um eine Besserung selbiger bemühe.
Hier mein Code:
Ich wäre wirklich sehr dankbar über jegliche Hilfe. Es würde mir auch sehr helfen wenn mir jmd. eine Art Struktur geben könnte die ich abarbeiten könnte, um das Problem zu lösen.
Vielen, vielen Dank
lostmaster
Hinzufügend:
Ich habe mir das grundsätzlich so gedacht.
1. Eingabe: (Bsp: Otto ist ein Rentner)
2. alles zu kleinbuchstaben machen
3. zerlegen in einzelne Parametereingaben und speichern in statischen String Array, sodas seperate Wörter gespeichert sind
4. prüfen ob palindrom mit for-schleife vergleichen von erstem buchstaben index= 0 und letztem index = length --> bis mitte (length/2)
5. Ausgabe: Otto, Renter
- ggf.: "Es sind keine Palindrome im eingegebenen Text vorhanden."
Ist diese Herangehensweise soweit richtig oder fehlt etwas?
danke
ich möchte mich zunächst einmal vorstellen. Ich bin Informatikstudent, jedoch leider mit sehr geringem Wissen sowie Erfahrung im Programmieren ausgestattet . (Meine Stärken liegen eher in der Mathematik).
Sei´s drum. Ich habe eine Aufgabe gestellt bekommen an der ich am verzweifeln bin. Und zwar folgende:
Aufgabentext:
Palindrome sind Wörter, die vorwärts und
rückwärts gelesen genau die gleiche Buchstabenfolge ergeben. Beispiele: Otto, Reittier
oder Rentner
Implementieren Sie folgenden Methode die prüft, ob ein übergebener String ein Palindrom
ist, oder nicht. Die Groß/Kleinschreibung soll dabei ignoriert werden. Die Klassen
String und ggf. Character stellen alle Methoden bereit, die Sie dafür benötigen.
public s tat ic boolean isPalindrome ( St r ing pWord ) ;
Testen Sie diese Methode zunächst in dem es für das Programm Palindrome verwenden.
Das Programm prüft alle Wörter die beim Programmstart als Parameter übergeben
werden darauf, ob sie ein Palindrom sind. Jeder Parametereintrag im statischen String-
Array wird dabei als separates Wort interpretiert. Das Programm gibt die erkannten
Palindrome auf der Konsole aus.
Beispielaufruf:
java -jar palindrome.jar Das Reittier wirft Otto ab
Ausgabe:
Reittier
Otto
Zunächst einmal: Ja ich habe die Suche im Forum verwendet, aber leider keine hilfreichenden Threads gefunden, die mir geholfen hätten, dass spezifische Problem so zu lösen, auch wenn es schon Themen über "Palindrome" gibt
So, nun habe ich mich also daran versucht und folgenden Code erstellt. Ich kann mir gut vorstellen, dass der ein oder andere sich die Hände vor den Kopf schlagen wird, aber wie eingangs erläutert sind meine Kenntnisse noch sehr begrenzt auch wenn ich mich stets um eine Besserung selbiger bemühe.
Hier mein Code:
Java:
import java.util.Scanner;
public class Palindrome {
public static boolean main(String args[]){
boolean isPalindrome = true;
String input = new Scanner(System.in);
System.out.println(input);
int i = 0;
int j = input.length();{
if (j > 0){
while (i<j && isPalindrome){
if(input.charAt(i) == input.charAt(j)){
++i;
--j;
isPalindrome = true;
}
else {
isPalindrome = false;}
}
}
else{
isPalindrome = true;
}
return isPalindrome;
}
}
}
Ich wäre wirklich sehr dankbar über jegliche Hilfe. Es würde mir auch sehr helfen wenn mir jmd. eine Art Struktur geben könnte die ich abarbeiten könnte, um das Problem zu lösen.
Vielen, vielen Dank
lostmaster
Hinzufügend:
Ich habe mir das grundsätzlich so gedacht.
1. Eingabe: (Bsp: Otto ist ein Rentner)
2. alles zu kleinbuchstaben machen
3. zerlegen in einzelne Parametereingaben und speichern in statischen String Array, sodas seperate Wörter gespeichert sind
4. prüfen ob palindrom mit for-schleife vergleichen von erstem buchstaben index= 0 und letztem index = length --> bis mitte (length/2)
5. Ausgabe: Otto, Renter
- ggf.: "Es sind keine Palindrome im eingegebenen Text vorhanden."
Ist diese Herangehensweise soweit richtig oder fehlt etwas?
danke
Zuletzt bearbeitet: