Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Palindrome: Unterschied zwischen den Versionen

(Änderung 17297 von 70.135.118.126 (Diskussion) rückgängig gemacht.)
 
(9 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
[[wikipedia:Palindrom|Palindrome]] sind Wörter, die rückwärts und vorwärts gleich sind, z.B. Rentner.
 
[[wikipedia:Palindrom|Palindrome]] sind Wörter, die rückwärts und vorwärts gleich sind, z.B. Rentner.
  
Später brauchst du solche Palindrome als Eingabewerte für das Programm, das du schreiben sollst. In der Wikipedia gibt es dafür eine [[wikipedia:Palindrom|Liste mit Palindromwörtern]].
+
Später brauchst du solche Palindrome als Eingabewerte für das Programm, das du schreiben sollst. In der Wikipedia gibt es dafür eine [[wikipedia:Palindrom#Wortpalindrome|Liste mit Palindromwörtern]].
  
  
 
=== Aufgabenstellung ===
 
=== Aufgabenstellung ===
  
* Schreibe ein Programm, das ein Wort umdreht und dann wieder ausgibt. War das eingegebene Wort ein Palindrom, so sollte das eingegebene Wort und das wieder ausgegebene Wort gleich sein (Hinweis: Der Vergleich von Strings mit == funktioniert nicht. Da müsst ihr euch selbst etwas überlegen, oder euren Tutor fragen).
+
* Schreibe ein Programm, das ein Wort aus Kleinbuchstaben auf dem Bildschirm umgedreht ausgibt. (hallo => ollah)
* Überlege dir zuerst, wie in [[Javakurs2007/Vortrag04|Vortrag 4]] gelernt, wie du das Programm schreiben willst, z.B. welche Methoden du brauchst und was diese tun. Solltest du gar keine Ahnung haben, wie man das Problem angehen könnte, dann lass dir einfach von einen Tutor deines Vertrauens einen Tipp geben.
+
* Wenn das Wort ein Palindrom ist, sieht das ausgegebene Wort wieder genau so aus, wie die Eingabe. (otto => otto)
 +
* Das Programm soll nun prüfen, ob das Wort ein Palindrom war oder nicht und eine entsprechende Meldung ausgeben.
 +
* Überlege dir zuerst, wie in Vortrag 4 gelernt, wie du das Programm schreiben willst, z.B. welche Methoden du brauchst und was diese tun. Solltest du gar keine Ahnung haben, wie man das Problem angehen könnte, dann lass dir einfach von einen Tutor deines Vertrauens einen Tipp geben.
 +
 
 +
Hinweis: Der Vergleich von Strings mit == funktioniert nicht. Da müsst ihr euch selbst etwas überlegen, oder euren Tutor fragen. Siehe auch der Abschnit 'Tipps' auf dieser Seite
  
 
'''Fortgeschritten:'''
 
'''Fortgeschritten:'''
 
* Lies das umzudrehende Wort von der Konsole ein.  
 
* Lies das umzudrehende Wort von der Konsole ein.  
 
+
* Passe das Programm nun so an, dass es auch Wörter die mit Großbuchstaben beginnen als Palindrome erkennt (Otto).
  
 
=== Tipps: ===
 
=== Tipps: ===
Zeile 34: Zeile 38:
  
  
Du kannst auch die [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/Terminal.java  Klasse Terminal] von in das Verzeichnis kopieren, in welchem du dein Programm schreibst und die Methode <code>Terminal.readString()</code> benutzen, um eine Tastatureingabe von der Kommandozeile zu lesen. Wenn dich interessiert, warum das so funktioniert, so erfährst du es [[Javakurs2007/Terminal | hier]].
+
Du kannst auch die [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/Terminal.java  Klasse Terminal] in das Verzeichnis kopieren, in welchem du dein Programm schreibst und die Methode <code>Terminal.readString()</code> benutzen, um eine Tastatureingabe von der Kommandozeile zu lesen. Wenn dich interessiert, warum das so funktioniert, so erfährst du es [[Javakurs2007/Terminal | hier]].
  
 
== Kommentare ==
 
== Kommentare ==

Aktuelle Version vom 2. Januar 2012, 22:49 Uhr

Einleitung

Palindrome sind Wörter, die rückwärts und vorwärts gleich sind, z.B. Rentner.

Später brauchst du solche Palindrome als Eingabewerte für das Programm, das du schreiben sollst. In der Wikipedia gibt es dafür eine Liste mit Palindromwörtern.


Aufgabenstellung

  • Schreibe ein Programm, das ein Wort aus Kleinbuchstaben auf dem Bildschirm umgedreht ausgibt. (hallo => ollah)
  • Wenn das Wort ein Palindrom ist, sieht das ausgegebene Wort wieder genau so aus, wie die Eingabe. (otto => otto)
  • Das Programm soll nun prüfen, ob das Wort ein Palindrom war oder nicht und eine entsprechende Meldung ausgeben.
  • Überlege dir zuerst, wie in Vortrag 4 gelernt, wie du das Programm schreiben willst, z.B. welche Methoden du brauchst und was diese tun. Solltest du gar keine Ahnung haben, wie man das Problem angehen könnte, dann lass dir einfach von einen Tutor deines Vertrauens einen Tipp geben.

Hinweis: Der Vergleich von Strings mit == funktioniert nicht. Da müsst ihr euch selbst etwas überlegen, oder euren Tutor fragen. Siehe auch der Abschnit 'Tipps' auf dieser Seite

Fortgeschritten:

  • Lies das umzudrehende Wort von der Konsole ein.
  • Passe das Programm nun so an, dass es auch Wörter die mit Großbuchstaben beginnen als Palindrome erkennt (Otto).

Tipps:

Speichern der Länge eines Strings

String palindrom = "rentner";
int length = palindrom.length();

Lesen des n-ten Buchstabens

int n = 5;
char c = palindrom.charAt(n);

Lesen von der Konsole

Wenn ihr beim Ausführen eures Programms in der Konsole einen Parameter mit übergebt, so findet ihr ihn an Position [0] im String-Array eurer main-Methode wieder.

Beispiel:

java Palindrome rentner

-> arguments[0] enthält rentner.


Du kannst auch die Klasse Terminal in das Verzeichnis kopieren, in welchem du dein Programm schreibst und die Methode Terminal.readString() benutzen, um eine Tastatureingabe von der Kommandozeile zu lesen. Wenn dich interessiert, warum das so funktioniert, so erfährst du es hier.

Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)