Übungsaufgaben zum Thema Zeichenketten

Aufgabe 1: Wort einlesen

Schreiben Sie ein Programm, das ein Wort einliest. Das Wort wird dann so oft ausgegeben, wie es Zeichen hat:

Beispielablauf:

Sinngemäßer Ablauf der Programmeingabe über die IOLib:

Geben Sie ein Wort ein: Hello

Programmausgabe (ohne Ausgaben aus der IOLib):

Hello
Hello
Hello
Hello
Hello

Zeichenkettenzeilen können mit dem Befehl
String str = IOLib.getString("Geben Sie ein Wort ein: ");

von der Konsole eingelesen werden.

Aufgabe 2: Inhaltsverzeichnis

Schreiben Sie ein Programm, das zwei Worte einliest. Das Programm gibt dann beide Worte in einer Zeile aus. Dabei werden die Worte durch Punkte getrennt. Die Gesamtlänge der ausgegebenen Zeichen soll 30 betragen.

Sinngemäßer Ablauf der Programmeingabe über die IOLib:

Geben Sie das erste Wort ein: Einleitung
Geben Sie das zweite Wort ein: 12

Programmausgabe (ohne Ausgaben aus der IOLib):

Einleitung..................12

Aufgabe 3: Anrede vergeben

Schreiben Sie ein Programm, das in einer Schleife nach einem Vor- und Nachnamen fragt und diesen dann zusammen entweder mit "Ms." oder "Mr." ausgibt, je nachdem, ob der Name weiblich oder männlich ist. Angenommen, die einzigen weiblichen Namen sind:

und die einzigen männlichen Namen sind:

Alle anderen Namen werden ohne Anrede ausgegeben.

Beispielablauf 1:

Sinngemäßer Ablauf der Programmeingabe über die IOLib:

Geben Sie einen Namen ein: Amy Johnson

Programmausgabe (ohne Ausgaben aus der IOLib):

Ms. Amy Johnson

Beispielablauf 2 (ab jetzt in gekürzter Form):

Geben Sie einen Namen ein: 
Fred Smith Mr. Fred Smith

Beispielablauf 3:

Geben Sie einen Namen ein: 
Zoltan Jones Zoltan Jones

Das Programm terminiert, wenn der OK-Button gedrückt wird, ohne zuerst etwas einzugeben.

Beispielablauf 4:

Geben Sie einen Namen ein:


bye.

Aufgabe 4: Zeichenweise Ausgabe

Schreiben Sie ein Programm, das nach einer Zeichenkette fragt und diese danach zeichenweise ein Zeichen pro Zeile ausgibt.

Beispielablauf:

Geben Sie eine Zeichenkette ein: Leuchtreklame

L
e
u
c
h
t
r
e
k
l
a
m
e

Aufgabe 5: Name in Großbuchstaben

Schreiben Sie ein Programm, das nach einem Namen fragt und dann den Vornamen unverändert und den Nachnamen in Großbuchstaben ausgibt.

Beispielablauf:

Geben Sie einen Namen ein: Sherlock Holmes

Sherlock HOLMES

Aufgabe 6: Kreditkartenabrechnung

  1. Schreiben Sie eine Klasse Kreditkarte, die über die folgenden Eigenschaften verfügt:

    • Eine Klassenvariable vom Typ Integer für das Speichern einer Gesamtsumme von Cent in der Währung Euro.

    • Eine Methode mit dem Kopf: public void addieren(String ware).
      Die Aufgabe der Methode besteht darin, Zeichenketten, die im Parameter ware geliefert werden, im Hinblick auf die enthaltene Preisangabe zu analysieren und den gefundenen Preis in Euro-Cent zur Summe aller bisher gelieferten Preise zu addieren, um so eine Ausgabenbilanz für die Kreditkarte zu berechnen. Die Preise können in Euro (EUR), Britischen Pfund (GBP) und Dollar (USD) angegeben sein.

      Vor dem Addieren werden Preisangaben in Fremdwährungen in Euro-Cent umgerechnet.

      Verwenden Sie folgende Wechselkurse für Dollar (USD) und Britisches Pfund (GBP):

      1,00 USD = 0,85 Euro
      1,00 GBP = 1,15 Euro

      Übergeben werden können an die Methode addieren beliebige Zeichenketten. Es kann allerdings davon ausgegangen werden, dass vor dem Geldbetrag immer ein Doppelpunkt steht und der Geldbetrag durch Leerzeichen plus Angabe der Währung abgeschlossen wird. Siehe die Beispiele unten.

      In jeder Zeichenkette steht genau eine Preisinformation. Die Preisinformation wird in Euro, Dollar oder britischen Pfund mit Komma geschrieben, z. B. 7,45.

      Zeichenketten, die einen Integerwert darstellen, können mit dem folgenden Methodenaufruf in Integerzahlen umgerechnet werden:
      Integer.parseInt(String str). Wobei das Argument str für die Zeichenkette steht. Die Zeichenketten dürfen keine Leerzeichen enthalten.

      Verwenden Sie bei Ihren Berechnungen Integerarithmetik.

    • Eine Methode mit dem Kopf: public String toString().
      Die Aufgabe der Methode besteht darin, den Gesamtbetrag der Ausgaben in Euro und Cent als Zeichenkette auszugeben. Der Aufbau der Zeichenkette erfolgt entsprechend zur Beispielausgabe unten.

  2. Schreiben Sie ein Hauptprogramm, in welchem ein Kreditkarten-Objekt erzeugt und dessen Methode addieren mit den folgenden Warenangaben aufgerufen wird:

    "T-Shirt: 8,99 USD"
    "Roman: 2,50 GBP"
    "Essen: 32,30 EUR"
    

    Danach wird der Gesamtbetrag der Ausgaben in Euro auf die Konsole ausgegeben.

    Programmausgabe:

    Es wurden 42,81€ ausgegeben.

    Die von Ihnen implementierte Methode toString() gehört zu den automatischen Methoden. Diese Methoden werden so bezeichnet, weil sie automatisch vom Laufzeitsystem aufgerufen werden - sofern sie in einem Objekt existieren -, wenn eine Zeichenkettendarstellung eines Objekts erforderlich ist. Probieren Sie dies aus, indem sie in der Ausgabeanweisung nur den Namen des Kreditkarten-Objekts ohne expliziten Aufruf der Methode toString() notieren. Es sollte die gleiche Ausgabe erscheinen, wie zuvor.