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

(Details)
(Änderung 17297 von 70.135.118.126 (Diskussion) rückgängig gemacht.)
 
(14 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Einleitung ==
+
=== Einleitung ===
  
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.
Mehr Informationen zu Palindromen gibt es hier [http://de.wikipedia.org/wiki/Palindrom].
 
Später braucht ihr solche Palindrome als Eingabewerte für das Programm, dass ihr schreiben sollt. Eine Liste mit Palindromwörtern gibt es hier [http://de.wikipedia.org/wiki/Liste_von_Wortpalindromen].
 
  
== Aufgabenstellung ==
+
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]].
  
1) Schreibt ein Programm, dass 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. Überlegt euch zuerst, wie in LE4 gelernt, wie ihr das Programm schreiben wollt. Z.B. welche Methoden ihr braucht und was diese tun.
 
Solltet ihr gar keine Ahnung haben, wie man das Problem angehen könnte, lasst euch einfach von einen Tutor eures Vertrauens einen Tipp geben.
 
  
(Schwierigkeit: normal)
+
=== Aufgabenstellung ===
  
2) Lest das umzudehende Wort von der Konsole ein. Dazu könnt ihr entweder die Klasse Terminal (Hier sollte ein Hinweis stehen) verwenden oder dirket von der Kommandozeile einlesen und das String-Array args, welches der main-Methode übergeben wird, benutzen. Probiert dazu ersteinmal aus an welchen Index das Wort steht, dass ihr euchen Programm auf der Kommandozeile übergebt. Das sieht auf der Konsole so aus:
+
* Schreibe ein Programm, das ein Wort aus Kleinbuchstaben auf dem Bildschirm umgedreht ausgibt. (hallo => ollah)
# java PalindromProgramm Rentner
+
* 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.
  
(Schwierigkeit: schon schwerer)
+
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
  
== Tipps ==
+
'''Fortgeschritten:'''
Speichern der Länge eines Strings:
+
* 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";
 
  String palindrom = "rentner";
 
  int length = palindrom.length();
 
  int length = palindrom.length();
  
Lesen des n-ten Buchstabens:
+
'''Lesen des n-ten Buchstabens'''
 
  int n = 5;
 
  int n = 5;
 
  char c = palindrom.charAt(n);
 
  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 [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 ==
 +
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 ;)
 +
 +
<!--
 +
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit "Vorschau zeigen" kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.
 +
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)
 +
 +
==== Robert ====
 +
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.
 +
-->
 +
 +
[[Kategorie:Java]]
 +
[[Kategorie:Java_Aufgaben]]

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 ;)