erstellt 08.05.00; übersetzt 08.07.03; © Copyright 2003 Deutsche Übersetzung Heinrich Gailer


Programmieraufgaben


Aufgabe 1 --- Junk Mail Generator

Schreiben Sie ein Programm, das einen "personalisierten" Brief erzeugt. Gegeben ist ein allgemeines Anschreiben und der Personenname. Das Anschreiben ist eine Textdatei, die als Input dient (verwenden Sie Dateiumlenkung wie sie im Kapitel 23 besprochen wurde). Der Personenname wird ein Befehlszeilenargument sein. Die Datei ist normaler Text, aber mit einem * wo immer der Name der Person eingesetzt werden sollte. Zum Beispiel:

Hallo *,

ich habe aufregende Neuigkeiten fuer Sie, *!!!
Fuer gerade einmal $49.99 plus Porto und Versand koennen Sie, *,
der stolze Besitzer eines Mauspads aus echtem Leder werden!
Keine Belastung der Finger mehr fuer Sie, *,
waehrend Sie mit Stil im Web surfen.

Handeln Sie sofort,

Venture Marketing Corp.

Vorausgesetzt das oben stehende ist in einer Datei junk.txt. Ein Lauf des Programms gibt aus::

C:\chap49D>java  JunkGenerator "Herr Meixner" < junk.txt

Hallo Herr Meixner,

ich habe aufregende Neuigkeiten fuer Sie, Herr Meixner!!!
Fuer gerade einmal $49.99 plus Porto und Versand koennen Sie, Herr Meixner,
der stolze Besitzer eines Mauspads aus echtem Leder werden!
Keine Belastung der Finger mehr fuer Sie, Herr Meixner,
waehrend Sie mit Stil im Web surfen.

Handeln Sie sofort,

Venture Marketing Corp.

C:\chap49D>

Schreiben Sie das Programm, so dass es jedes Vorkommen von * in einer Zeile ersetzt und jede Anzahl von Zeilen akzeptiert. Das Hauptprogramm wird eine while-Schleife sein, die fortfährt bis der Inputstring (eingelesen mit readLine()) null ist. Jede Inputzeile sollte verwendet werden um einen StringTokenizer mit den geeigneten Begrenzern zu erzeugen.

Wenn Sie das Befehlszeilenargument vermeiden möchten, fragen Sie den Anwender nach dem Namen und lesen in in der üblichen Weise ein.

Zurück zur Übersicht.


Aufgabe 2 --- Wort Umkehrer

Schreiben Sie ein Programm, das einen Satz vom Anwender einliest und jedes Wort umgekehrt wieder ausgibt, wobei die ursprünglichen Reihenfolge der Worte und der Interpunktionszeichen bestehen bleibt:

C:\> java reverseSent
Eingabe:  Go to the main menu.
oG ot eht niam unem.

Zurück zur Übersicht.


Aufgabe 3 --- 12 zu 24 Stunden Konvertierer

Schreiben Sie ein Programm, das einen String einliest, der ein 12-Stunden Zeitformat hat und die Zeit im 24-Stunden Format ausgibt.

C:\chap49D>java  TimeConverter
Eingabe: 12:13AM

C:\chap49D>java  TimeConverter
Eingabe: 12:23
0:23

C:\chap49D>java  TimeConverter
Eingabe:8:30AM
8:30

C:\chap49D>java  TimeConverter
Eingabe:8:30PM
20:30

C:\chap49D>java  TimeConverter
Eingabe:8:30 PM
20:30

Setzen Sie voraus, dass der Anwender die Ziffern korrekt durch einen Doppelpunkt getrennt eingegeben hat. Wenn weder "AM" noch "PM" gegeben ist, nehmen Sie "AM" an.

Dies kann kompliziert werden. Wenn Sie es etwas leichter wollen, setzen Sie voraus, dass "AM" oder "PM" unmittelbar auf den Minuten folgt.

Oder, wenn Sie es kompliziert möchten, versuchen Sie Ihr Programm "kugelfest" zu machen. Überprüfen Sie, dass sowohl Stunden als auch Minuten sich im gültigen Bereich befinden. Erlauben Sie Leerzeichen links und rechts des Doppelpunktes und zwischen Minuten und AM bzw. PM. Lassen Sie AM und PM sowohl in Großbuchstaben als auch in Kleinbuchstaben zu.

C:\chap49D>java  TimeConverter
Eingabe:8 : 30 pm
20:30

C:\chap49D>java  TimeConverter
Eingabe:8:77
Bad input format.

Zurück zur Übersicht.


Ende der Aufgaben.