übersetzt 14.06.04; überarbeitet 29.06.04, 09.10.06, 06.12.10, 01.04.19, 09.11.21, 25.04.22, 12.12.23;

Kapitel 26 Programmieraufgaben

Aufgabe 1 — Der == - Operator

Wir erstellen eine Klasse LiteralTester und deklarieren vier Stringvariablen str1, str2, str3 und str4. Dann erzeugen wir ein Stringliteral "Bo, die Katze" und weisen dieses Stringliteral den beiden Referenzvariablen str1 und str2 zu. Danach erzeugen wir für die beiden Referenzvariablen str3 und str4 mit dem new-Operator jeweils ein Stringobjekt mit dem Inhalt "Fred, der Hund".

Anschließend überprüfen wir mit dem == -Operator, ob die Referenzvariablen str1 und str2 auf dasselbe Objekt verweisen. Wir überprüfen ebenfalls mit dem == -Operator, ob die Referenzvariablen str3 und str4 auf dasselbe Objekt verweisen.

Dann ermitteln wir die Anzahl der Stringobjekte und geben das Ergebnis auf dem Bildschirm aus. Die Ausgabe des Programms sieht dann folgendermaßen aus.

Es wurden 3 Objekte erzeugt.

Hinweis: Das Programmm soll auch dann die korrekte Anzahl der erzeugten Objekte ausgeben, wenn sowohl "Bo, die Katze" als auch "Fred, der Hund" literal erzeugt werden bzw. mit new String() erzeugt werden.

Zurück zum Inhaltsverzeichnis.


Aufgabe 2 — equals()

Wir schreiben ein Programm, das den Anwender auffordert 5 Integer einzugeben. Das Programm liest die Zahlen in einer Schleife ein und berechnet die Summe. Am Ende wird die Summe ausgegeben.

Die Ausgabe des Programms sieht dann ungefähr folgendermaßen aus.

Geben Sie 1. Zahl ein:
11
Geben Sie 2. Zahl ein:
4
Geben Sie 3. Zahl ein:
5
Geben Sie 4. Zahl ein:
1
Geben Sie 5. Zahl ein:
9
Gesamtsumme: 30

Wir verändern dann das Programm, so dass es am Anfang den Anwender fragt, ob er eine Eingabeaufforderung wünscht. Der Anwender gibt "ja" oder "nein" ein (nur einmal, am Anfang). Die Schleife wird jetzt entweder eine Eingabeauforderung ausgeben oder nicht.

Wir deklarieren eine weitere Stringvariable antwort und weisen ihr das Stringliteral "ja" zu.

Dann vergleichen wir mit der equals() Methode ob der vom Anwender eingegebene String äquivalent ist zu dem String auf den antwort verweist.

Wir setzen eine Boole'sche Variable prompt auf true oder false, je nach dem was der Anwender eingegeben hat. Innerhalb der Schleife bestimmt dann eine if-Anweisung ob die Eingabeaufforderung ausgegeben wird oder nicht.

Die Ausgabe des Programms sieht dann ungefähr folgendermaßen aus.

Eingabeaufforderung <ja> oder <nein>?
nein
3
5
2
12
8
Gesamtsumme: 30

Zurück zum Inhaltsverzeichnis.


Ende der Aufgaben.