Kapitel 28 Programmieraufgaben

erstellt 21.06.04, 13.12.04; überarbeitet 29.06.04, 11.10.06, 15.05.18, 08.04.19, 16.11.20, 16.11.21, 09.05.22;


Kapitel 28 Programmieraufgaben

Aufgabe 1 — Point-Objekte zum Zweiten

Wir schreiben ein Programm, das zwei Point-Objekte (pt1 mit den x- und y-Werten 10, 10 und pt2 mit den x- und y-Werten 30, 30) erzeugt.

Die Point-Objekte repräsentieren die Eckpunkte eines Rechtecks. Wir berechnen die Fläche dieses Rechtecks. Dazu ermitteln wir die Breite und Höhe mit der Klassenmethode abs() der Klasse Math. Die Klassenmethode kann z.B. so aufgerufen werden:

Math.abs(wert)

Die Ausgabe des Programms sieht folgendermaßen aus.

Die Flaeche betraegt: 400

Zurück zum Inhaltsverzeichnis.


Aufgabe 2 — Zwei Referenzen auf dasselbe Point-Objekt

Wir erzeugen ein Point-Objekt mit den Koordinaten 10, 10 und weisen die Referenz der Variablen pt1 zu. Wir kopieren dann die Referenz von pt1 in eine Referenzvariable ptAlias. Überprüfen anschließend mit dem == -Operator ob die Referenzvariablen pt1 und ptAlias auf dasselbe Objekt verweisen.

  • Wir geben die x- und y-Werte des Point-Objekts aus, auf das die Referenzvariablen pt1 und ptAlias verweisen.
  • Wir verdoppeln dann die x- und y-Werte des Point-Objekts auf das ptAlias verweist. Wir verwenden dazu NICHT die move() Methode.
  • Wir geben erneut die x- und y-Werte des Point-Objekts aus, auf das die Referenzvariablen pt1 und ptAlias verweisen.

Die Ausgabe des Programms sieht dann folgendermaßen aus.

pt1 und ptAlias verweisen auf dasselbe Objekt!
Point pt1 vorher:      java.awt.Point[x=10,y=10]
Point ptAlias vorher:  java.awt.Point[x=10,y=10]
Nur von ptAlias wurden die x- und y-Werte verdoppelt!
Point pt1 nachher:      java.awt.Point[x=20,y=20]
Point ptAlias nachher:  java.awt.Point[x=20,y=20]

Zurück zum Inhaltsverzeichnis.