Prof. Dr. Stephan Kleuker Hochschule Osnabrück Fakultät Ing.-Wissenschaften und Informatik - Software-Entwicklung - Grundlagen der Programmierung Wintersemester 2011/12 Aufgabenblatt 3 6. Aufgabe (2 Punkte) Gegeben seien folgende Klassen mit Syntaxfehlern (auch Projekt in Kaputt.zip von der WebSeite). Korrigieren Sie jede Klasse mit Hilfe des Compilers, indem Sie alle Fehler Schritt für Schritt nacheinander abarbeiten. Markieren Sie die gefundenen Fehler auch auf dem Aufgabenblatt. class Ueberweisung {{ String from;;; String for; {} String String; java.lang.String reason; Double amount*person; String class; }; klass Person { string name; String geboren in; Integer alter; integer _____; Integer beruf; } 7. Aufgabe (4 Punkte) (0,0) 1 2 3 4 Punkt (2,1) 1 5 6 7 8 9 10 x-Achse Rechteck mit Punkt (5,1), Breite 4 und Höhe 2 2 3 Kreis mit Punkt (1,3) und Radius 2 4 Linie von Punkt (6,4) nach Punkt(7,7) (oder andersherum) 5 6 7 8 y-Achse Schreiben Sie folgende Klassen in Java auf, überlegen Sie sich dabei zunächst sinnvolle Objektvariablen und ergänzen Sie dann Konstruktoren. Erzeugen Sie von jeder Klasse mindestens ein Objekt mit Hilfe Ihres Konstruktors und machen Sie jeweils ein Bildschirmfoto von den "Innereien" ihres Objektes (also der Inspektion der Objektvariablen, wie rechts beispielhaft für einen Kreis gezeigt). Es sollen die folgenden Klassen eines grafischen Systems angelegt werden. Dabei ist zu beachten, dass die Koordinatenwerte (x- und ySeite 1 von 2 Prof. Dr. Stephan Kleuker Hochschule Osnabrück Fakultät Ing.-Wissenschaften und Informatik - Software-Entwicklung - Grundlagen der Programmierung Wintersemester 2011/12 Aufgabenblatt 3 Werte) nur ganzzahlig sein können. Wie auf der Skizze oben angedeutet, ist es bei grafischen Systemen häufig der Fall, dass die positiven Werte der x-Achse von links nach rechts verlaufen, die positiven Werte der y-Achse aber von oben nach unten. So liegt der Urspung des Bildschirms, der Punkt (0,0), links oben in der Ecke. Die benötigten Klassen sind: a) Punkt, besteht aus den x- und y-Werten (Koordinaten) b) Linie (mathematisch genauer Strecke, hat konkreten Start und konkretes Ende) c) Kreis (hat einen Aufhängepunkt links-oberhalb des Kreises und einen ganzzahligen Radius) d) Rechteck (wird typischerweise ausgehend von der linken oberen Ecke definiert) e) Dreieck Was müsste man bei Ihnen ändern, wenn die y-Achse, wie mathematisch üblich, nach oben verlaufen und bei einem Kreis der Mittelpunkt angegeben würde? 8. Aufgabe (3 Punkte) a) Schreiben Sie in Java eine Klasse zur Beschreibung von Produkten mit den Eigenschaften Name (String), Produktnummer (Integer) und Preis (hier als Double genommen, Double-Werte werden mit einem Punkt als Trennzeichen, z. B. 0.49, geschrieben). Programmieren Sie dazu alle acht möglichen Konstruktoren, die entstehen, wenn man beliebige Kombinationen der drei Objektvariablen mit den Varianten sie als Parameter anzugeben bzw. nicht anzugeben schreibt. Beim Extremfall werden alle Objektvariablen nicht angegeben, der Konstruktor hat dann die Form Produkt(){}. Rufen Sie aale acht Konstruktoren in Code Pad auf und fotografieren Sie die Objekte zusammen mit den Code Pad-Eingaben. b) Könnte die Klasse aus a) noch weitere Konstruktoren haben? Begründen Sie schriftlich Ihre Antwort. c) Überlegen Sie, wie viele Konstruktoren die Klasse Datum mit den drei Objektvariablen Tag, Monat und Jahr vom Typ Integer haben, wenn man wie in a) die Kombinationen der Objektvariablen in den Konstruktoren haben möchte. Begründen Sie schriftlich Ihre Antwort. Seite 2 von 2