Universität Koblenz-Landau Übungen zur Vorlesung Objekt-orientierte Programmierung und Modellierung WS 2007/2008 Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel Übungsblatt 03 Zu bearbeiten bis 23.11.2007, 24h Legen Sie auf Ihrem Checkout-Verzeichnis ein Unterverzeichnis blatt03 an und legen Sie dort Ihre Lösungsdateien für diese Übungsblatt ab. Aufgabe 1 In der Vorlesung wurde das Shapes-Problem (https://www.unikoblenz.de/~laemmel/oopm/samples/shapes.zip) vorgestellt. Erweitern Sie die abstrakte Klasse Shape um eine abstrakte Methode public abstract double flaeche(). Um Verwechslungen zu vermeiden, nennen wir diese Klasse dann Shape2. a) Implementieren Sie die Methode flaeche() in den abgeleiteten Klassen Circle und Rectangle. b) Leiten Sie aus Shape2 eine Klasse Shape3 ab, die das Interface Comparable implementiert. Verglichen wird jeweils die Fläche einer Figur. c) Schreiben Sie eine Testklasse FlaechenTest, die ein Quadrat q4 mit Seitenlänge 4, einen Kreis c2 mit Radius 2 und einen Kreis c3 mit Radius 3 erzeugt. Geben Sie die berechneten Flächen der 3 Formen aus sowie q4.compareTo(c2), q4.compareTo(c3), c2.compareTo(c3), c2.compareTo(q4), c3.compareTo(c2), c3.compareTo(q4). Abzugeben sind alle Java-Dateien. Aufgabe 2 Ein Dreieck ist durch die Angabe der drei Seitenlängen a, b und c bis auf Kongruenz eindeutig bestimmt. Allerdings beschreibt nicht jedes Zahlentripel (a,b,c) ein Dreieck: Gibt es eine Seite, die länger ist als die Summe der beiden anderen, bilden die 3 Seiten keinen geschlossenen Linienzug. Ist die Seite gleich lang wie die Summe der beiden anderen, entartet das Dreieck zu einer Strecke. Gleichschenklige (gleichseitige) Dreiecke haben 2 (3) gleich lange Seiten, rechtwinklige Dreiecke lassen sich über den Satz des Pythagoras bestimmen. Schreiben Sie eine Klasse DreiecksTest, die in der main-Methode die Längen der 3 Seiten eines Dreiecks (als int-Werte) einliest und dann ausgibt, a) b) c) d) ob die 3 Seiten ein geschlossenes, nicht entartetes Dreieck bilden ob das Dreieck gleichschenklig ist ob das Dreieck gleichseitig ist ob das Dreieck einen rechten Winkel enthält. Schreiben Sie das Programm so, dass nacheinander beliebig viele Dreiecke eingegeben und getestet werden können. Das Programm soll verlassen werden, wenn eine nicht positive Seitenlänge eingegeben wird. Abzugeben ist der Source-Code. Abzugeben bis Freitag, 23.11.2007, 24h in Ihr Gruppenverzeichnis auf https://svn.uni-koblenz.de/oopm0708/students .