erstellt 08.05.00; übersetzt 08.07.03; überarbeitet 14.02.05; © Copyright 2003 - 2005 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 Ihrer Finger mehr, *,
waehrend Sie mit Stil im Web surfen.

Handeln Sie sofort,

Venture Marketing Corp.

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

C:\data\javaNotes>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 ihn 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:\data\javaNotes> java WorteUmkehren
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:\data\javaNotes>java  ZeitUmwandler
Eingabe: 12:13AM

C:\data\javaNotes>java  ZeitUmwandler
Eingabe: 12:23
0:23

C:\data\javaNotes>java  ZeitUmwandler
Eingabe:8:30AM
8:30

C:\data\javaNotes>java  ZeitUmwandler
Eingabe:8:30PM
20:30

C:\data\javaNotes>java  ZeitUmwandler
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.

Das kann kompliziert werden. Wenn Sie es etwas leichter wollen, setzen Sie voraus, dass "AM" oder "PM" unmittelbar 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:\data\javaNotes>java  ZeitUmwandler
Eingabe:8 : 30 pm
20:30

C:\data\javaNotes>java  ZeitUmwandler
Eingabe:8:77
Bad input format.

Zurück zum Inhaltsverzeichnis.


Ende der Aufgaben