Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Konstruktoren.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 1. Vorlesung WS 2003/2003.
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 9. Vorlesung WS 2002/2003.
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Diskrete Mathematik I Vorlesung Arrays-
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Zusammenfassung Vorwoche
int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0);
DVG Klassenhierarchie. DVG Klassenhierarchie 4 Durch die Ableitung jeder Klasse aus genau einer Elternklasse entsteht eine Baumstruktur.
DVG Einführung in Java1 Einführung in JAVA.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Sitzung 3: Klassen, Objekte, Arrays und Kontrollstrukturen
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Variablenkonzept Klassisch, in Java Basistyp
Unterprogramme in JAVA
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Programmiervorkurs WS 2014/15 Instanzmethoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Programmiervorkurs WS 2014 Referenzdatentypen
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 8. Vorlesung WS 2002/2003.
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 9. Vorlesung WS 2002/2003.
Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003 Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger,
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 10. Vorlesung WS 2002/2003.
Einführung in die Programmierung mit Java
G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/041 Übungsaufgabe Ergänzt die Klasse Dreieck aus der Hausaufgabe um eine Methode,
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java
Grundkurs Informatik 11-13
Implementieren von Klassen
 Präsentation transkript:

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/032 Übersicht Besprechung der Hausaufgabe Die Klasse String - Benutzung von Methoden und Arbeiten mit JavaDoc Statische Attribute (Klassenvariablen) Statische Methoden (Klassenmethoden)

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/033 Terminverschiebung In der kommenden Woche findet Java nicht am Mittwoch (18.), sondern am Donnerstag (19.) von 15:00 bis 16:30 Uhr statt (nach Übung Diskrete Mathe)

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/034 Hausaufgabe Definiert eine Klasse für Dreiecke, die in der Ebene eingebettet sind (d.h. alle drei Punkte haben x- und y- Koordinaten). Definiert –einen komfortablen Konstruktor (der ein Dreieck in einem Schritt erzeugt) –eine Methode zur Berechnung des Umfangs, –eine Methode zum Verschieben des Dreiecks und –eine Methode zur textuellen Ausgabe. Hinweis: Es bietet sich an, die Klasse Punkt aus der Vorlesung zu verwenden.

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/035 Lösung ohne Klasse Punkt (I von II): class Dreieck{ //Attribute (x und y für drei Eckpunkte des Dreiecks) double punktAx, punktAy, punktBx, punktBy, punktCx, punktCy; //Konstruktor Dreieck(double Ax, double Ay, double Bx, double By, double Cx, double Cy){ punktAx = Ax; punkt Ay = Ay, punktBx = Bx; punktBy = By; punktCx = Cx; punktCy = Cy); //Methode zur Berechnung des Umfangs double umfang(){ double u = Math.sqrt(Math.pow(punktAx - punktBx,2.0) + Math.pow(punktAy - punktBy,2.0)) + Math.sqrt(Math.pow(punktBx - punktCx,2.0) + Math.pow(punktBy - punktCy,2.0)) + Math.sqrt(Math.pow(punktCx - punktAx,2.0) + Math.pow(punktCy - punktAy,2.0)); return u; } A B C

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/036 Lösung ohne Klasse Punkt (II von II): //Methode zur Verschiebung um deltaX, deltaY double verschieben(double deltaX, double deltaY){ punktAx = punktAx + deltaX; punktAy = punktAy + deltaY; punktBx = punktBx + deltaX; punktBy = punktBy + deltaY; punktCx = punktCx + deltaX; punktCy = punktCy + deltaY;} //Methode zur textuellen Ausgabe void ausgabe(){ System.out.println("Die Punkte des Dreiecks haben die Koordinaten " + punktAx + ", " + punktAy + ", " + punktBx + ", " + punktBy + ", " + punktCx + ", " + punktCy); } A B C

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/037 Lösung (mit Klasse Punkt): class Dreieck{ Punkt A; //Attribute, drei Punkte Punkt B; Punkt C; Dreieck(double Ax, double Ay, double Bx, double By, double Cx, double Cy){ A = new Punkt(Ax, Ay);//Aufruf des Konstruktors der Klasse Punkt B = new Punkt(Bx, By); C = new Punkt(Cx, Cy); } double umfang(){ //Verwendung der Methode "abstand" der Klasse "Punkt" double u = A.abstand(B) + B.abstand(C) + C.abstand(A); return u; } void verschieben(double deltaX double deltaY){ A.verschieben(deltaX, deltaY); //Methode "verschieben" der Klasse "Punkt" B.verschieben(deltaX, deltaY); C.verschieben(deltaX, deltaY); } void ausgabe(){... } }

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/038 Beispiel: Klasse Punkt class Punkt{ double xKoordinate; double yKoordinate; Punkt(){ xKoordinate = 0.0; yKoordinate = 0.0;} Punkt(double x, double y ){xKoordinate = x; yKoordinate = y;} double x_Koordinate() {return xKoordinate;} double y_Koordinate() {return yKoordinate;} void aendereKoordinaten(double x, double y){ xKoordinate = x; yKoordinate = y;} void verschieben(double deltaX, double deltaY) { xKoordinate = xKoordinate + deltaX; yKoordinate = yKoordinate + deltaY;} double abstand(Punkt p){ double a = Math.sqrt(Math.pow(xKoordinate - p.xKoordinate,2.0) + Math.pow(yKoordinate - p.yKoordinate,2.0)); return a; }

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/039 Anmerkungen zur Hausaufgabe Attribute von Klassen können wieder Klassen sein –Bsp: Klasse Dreieck hat Attribute A, B, C vom Typ Punkt diese Attribute müssen mit "new" erzeugt werden –Bsp.: A = new Punkt(Ax, Ay); –d ies geschieht im Konstruktor Nutzung der Funktionalität der enthaltenen Klasse –Bsp.: Nutzung der Methode abstand der Klasse Punkt bei Ermittlung des Umfangs in Klasse Dreieck Wiederverwendung von Programmcode

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0310 Übungsaufgabe Ergänzt die Klasse Dreieck aus der Hausaufgabe um eine Methode, die den Flächeninhalt eines Dreiecks berechnet und zurückgibt. Hinweis: Der Flächeninhalt eines Dreiecks ist: Flächeninhalt = 1/2 * ( ( Ax (By - Cy) + Bx (Cy - Ay) + Cx ( Ay - By)) A B C

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0311 Übungs- und Hausaufgabe Ergänzt die Klasse Dreieck aus der Hausaufgabe um eine Methode, die ermittelt, ob zwei Dreiecke benachbart sind (d.h. eine Kante des einen mit einer Kante des anderen geometrisch übereinstimmt). Der Rückgabewert soll vom Typ boolean sein. Ergänzt ggf. die Klasse Punkt entsprechend.

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0312 Lösung (Alternative 1) : class Dreieck{ boolean benachbart(Dreieck d){ int anzahlGleicherPunkte = 0; if(A.abstand(d.A) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(A.abstand(d.B) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(A.abstand(d.C) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(B.abstand(d.A) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(B.abstand(d.B) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(B.abstand(d.C) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(C.abstand(d.A) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(C.abstand(d.B) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(C.abstand(d.C) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(anzahlGleicherPunkte > 1) return true else return false; }

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0313 Fortsetzung Lösung (Alternative 1) : //Aufruf: Dreieck d1 = new Dreieck(4.3,9.8,2.1); Dreieck d2 = new Dreieck(5.2,2.1,4.3); boolean b = d1.benachbart(d2); if(b) System.out.println("Dreiecke sind benachbart");

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0314 Lösung (Alternative 2) : class Dreieck{ boolean benachbart(Dreieck d){ int anzahlGleicherPunkte = 0; if(A.xKoordinate == d.A.xKoordinate & A.yKoordinate == d.A.yKoordinate) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(A.xKoordinate == d.B.xKoordinate & A.yKoordinate == d.B.yKoordinate) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(anzahlGleicherPunkte > 1) return true else return false; }

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0315 Anmerkung zur Hausaufgabe : class Dreieck{ boolean benachbart(Dreieck d){ int anzahlGleicherPunkte = 0; if( A == d.A ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if( A == d.B ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if( C == d.C ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(anzahlGleicherPunkte > 1) return true else return false; } // Diese Lösung ist falsch, da die Referenzvariablen und nicht // die Attributwerte der Instanzen (xKoordinate, yKoordinate) // auf Gleichheit überprüft werden

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0316 Nutzung von Methoden: die Klasse String Zweck der Klasse String: Speicherung und Bearbeitung von Zeichenketten (Wörter, Sätze) Beispiel: String s1 = "Das ist das Haus"; String s2 = "Nikolaus."; String s3 = s1 + " vom " + s2; //in s3 steht:"Das ist das Haus vom Nikolaus."; String s4 = s3.substring(12,16); // in s4 steht: "Haus" Strings sind konstant (können nicht geändert werden) –sie müssen nicht mit new erzeugt werden –Stringvariablen können jedoch geändert werden, z.B. s1 = "abc"; in obigem Beispiel.

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0317 Die Klasse String Erzeugung einer Instanz: –String variable = Zeichenkette; Operator +: Konkatenation von Zeichenketten –String s1 = ABC + variable + DEF; Nützliche Methoden der Klasse String: –Geoinformation.length() liefert 14 – ABCD.trim() liefert ABCD –"Geoinformation".substring(3,7) liefert "info –"Institution".indexOf("ti") liefert 3 Weitere Methoden: JavaDoc

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0318 Übungsaufgabe Schreibt ein Programm, das euren Vor- und Nachnamen mit einem Leerzeichen getrennt einer String-Variablen zuweist. Leitet aus diesem String durch entsprechende Methoden der Klasse String folgendes ab: –einen String, der nur den Vornamen enthält –einen String, der nur den Nachnamen enthält –einen String mit Nach- und Vornamen (mit Komma dazwischen) –die Anzahl der Buchstaben des Strings (ohne Leerzeichen) –einen String, in dem jedes Vorkommen von ä, ö, ü durch ae, oe, ue ersetzt wurde Das Programm soll natürlich für jeden Vor- und Nachnamen funktionieren.....

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0319 Statische Attribute die bisher behandelten Attribute (nicht-statische Attribute) existieren einmal pro Instanz nicht möglich, Informationen zur Klasse abzuspeichern (z.B. Anzahl der Instanzen; Werte, die für jede Instanz der Klasse gleich sind,...) statische Attribute: existieren einmal pro Klasse, für alle Instanzen derselbe Wert Zweck: Speicherung Klassen-globaler Informationen Syntax: class Klassenbezeichner { static Typ Attributbezeichner ;... }

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0320 Zugriff auf statische Attribute Zugriff auf nicht-statische Attribute: –es muss Instanz der Klasse (Referenzvariable) existieren –Zugriff von Außen: Referenzvariable.attribut –Zugriff von Innen: attribut Zugriff auf statische Attribute: –es muss nicht unbedingt eine Instanz der Klasse existieren –Zugriff von Außen: Klassenname.attribut –oder Zugriff wie bei nicht-statischen Attributen Beispiel: class MeineKlasse { static int v1; } MeineKlasse.v1 = 40 ;

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0321 Statische Attribute: eine Klasse und Ihre Instanzen Klasse static int s = 7 int n Instanz n = 65 Instanz n = 25 Instanz n = 4 Instanz n = 76 Bauplan

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0322 Zugriff auf statische Attribute: Beispiel class MeineKlasse { static int s; //statisches Attribut int n; //nicht-statisches Attribut void methode(){ n = 4; //nicht-stat.Attribut, nur für Instanz geändert S = 77;} //statisches Attribut, für Klasse geändert } //Außen: MeineKlasse.s = 40; //Zugriff auf statisches Attribut //noch keine Instanz der Klasse MeineKlasse ms1 = new MeineKlasse(); MeineKlasse ms2 = new MeineKlasse(); ms1.n = 65; // dies geht erst nach Instanz-Erzeugung ms1.s = 64; // dasselbe wie MeineKlasse.s = 64; //ms2.s ist nun ebenfalls 64

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0323 Beispiel für Nutzung statischer Attribute class Punkt{ static int anzahl; //statisches Attribut: Anzahl //der Instanzen Punkt(){ anzahl = anzahl + 1; }..... System.out.println(Anzahl Punkte: + Punkt.anzahl); //Ausgabe: 0 Punkt p1 = new Punkt(); Punkt p2 = new Punkt(); System.out.println(Anzahl Punkte: + Punkt.anzahl); //Ausgabe: 2

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0324 Statische Methoden die bisher behandelten Methoden (nicht-statische Methoden) –werden für eine Instanz aufgerufen –haben Zugriff auf alle Attribute der Instanz statische Methoden werden –für eine Klasse, nicht für eine Instanz aufgerufen –haben keinen Zugriff auf (nicht-statische) Attribute einer Instanz –haben Zugriff auf statische Attribute der Klasse Definition: Voranstellen von static vor der Definition: class Klassenbezeichner { static Rückgabetyp Methodenbezeichner (Parameterliste) {... } }

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0325 Aufruf von statischen Methoden Aufruf von nicht-statischen Methoden: –Referenzvariable.methode() –es muss Instanz der Klasse (Referenzvariable) existieren Zugriff auf statische Attribute: –Klassenname.methode() –es muss nicht unbedingt eine Instanz der Klasse existieren –falls Instanz der existiert: Referenzvariable.methode –oder innerhalb der Klasse: methode Beispiel: class MeineKlasse { static int methode(){ } int i = MeineKlasse.methode();

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0326 MethodeStatisch() MethodeNichtStatisch() Statische Methoden: eine Klasse und Ihre Instanzen Klasse static int s = 7 int n Instanz n = 65 Instanz n = 25 Instanz n = 4 Instanz n = 76 Bauplan Zugriff

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0327 Bekannte Beispiele für statische Methoden public static main... –wird vom System aufgerufen, obwohl nie eine Instanz der zugehörigen Klasse erzeugt wurde Math.sin(double w) –sin ist eine Methode der Klasse Math –sin wird nicht für eine Instanz aufgerufen, sondern "einfach so": double d = Math.sin(2); –Aufruf mit vorangestelltem Klassennamen Math

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0328 Benachbarte Dreiecke statisch Die Methode, die ermittelt, ob zwei Dreiecke benachbart sind (Übungsaufgabe), kann alternativ als statische Methode formuliert werden: class Dreieck{ static boolean benachbart(Dreieck d1, Dreieck d2){ int anzahlGleicherPunkte = 0; if(d1.A.abstand(d2.A) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(d1.A.abstand(d2.B) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(d1.C.abstand(d2.C) == 0 ) anzahlGleicherPunkte = anzahlGleicherPunkte + 1; if(anzahlGleicherPunkte > 1) return true else return false; }

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0329 Benachbarte Dreiecke statisch: Aufruf //Aufruf: Dreieck d1 = new Dreieck(4.3,9.8,2.1); Dreieck d2 = new Dreieck(5.2,2.1,4.3); boolean b = Dreieck.benachbart(d1,d2); if(b) System.out.println("Dreiecke sind benachbart"); //Zum Vergleich: Aufruf mit nicht statischer Methode: boolean b = d1.benachbart(d2);

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0330 Hausaufgabe Ergänzt die Klasse "Dreieck" so, dass mit einer Methode die Summe der Umfänge aller bisher erzeugten Dreiecke ermittelt und zurückgegeben werden kann. Erzeugt drei Dreiecke und gebt die Summe der Umfänge vorher und nachher aus. Hinweis: –es bietet sich an, die Summe der Umfänge in einem statischen Attribut zu speichern