|
|
Übung 7
Übung 9
Ü B U N G 8
Aufgabe 1
Ein Punkt in der euklidischen Ebene ist gegeben durch zwei
Koordinaten (x,y) vom Typ double. Implementieren Sie eine Klasse
Punkt, die folgendes enthalten soll:
Verwenden Sie in ihrer Klasse folgende Main-Methode:
public static void main(String[] args) {
// 3 neue Punkte erzeugen
Punkt p1 = new Punkt(4.0, 2.0); // Punkt (4|2)
Punkt p2 = new Punkt(-3.0, 1.0); // Punkt (-3|1)
Punkt p3 = new Punkt(-4.0, -2.0);
// die erzeugen Punkte ausgeben
p1.print("P1: ");
p2.print("P2: ");
p3.print("P3: ");
// p3 an der X-Achse spiegeln
p3.mirrorX();
// p3 an der Y-Achse spiegeln
p3.mirrorY();
// Gleichheit
System.out.println("p1 == p2 : " + p1.equals(p2));
System.out.println("p1 == p3 : " + p1.equals(p3));
// Abstand berechnen
System.out.println("Abstand p1-p2 : " + p1.distanceTo(p2));
}
Die Ausgabe sollte wie folgt aussehen:
P1: (4.0|2.0)
P2: (-3.0|1.0)
P3: (-4.0|-2.0)
p1 == p2 : false
p1 == p3 : true
Abstand p1-p2 : 7.0710678118654755
Download der Lösung (Punkt.java)
Aufgabe 2
Implementieren Sie eine Klasse "Student", deren Instanzen die
Attribute für Matrikelnummer und Name besitzen. Bei der Erzeugung
einer neuen Instanz soll die Matrikelnummer automatisch vergeben
werden (als nächste noch nicht vergebene Integer-Zahl, beginnend bei
900000), während der Name dem Konstruktor als String übergeben wird.
Verwenden Sie geeignete Klassen- und Instanzvariablen. Die Klasse
"Student" soll folgende Instanzen-Methoden besitzen:
- getName(): liefert den Namen eines Studenten
- setName(String name): Ändert den Namen eines Studenten
- getMatNr(): liefert die Matrikelnr zu einem Studenten
- toString(): Gibt den Namen und die Matrikelnummer als
String formatiert zurück
- print(): Gibt den Namen und die Matrikelnummer als
formatiert auf der Kommandozeile aus
Legen Sie
eine weitere Klasse an, in der Sie zum Testen Objekte der Klasse
"Student" anlegen.
Zum Beispiel: public class U8b {
public static void main (String[] args) {
Student s1 = new Student ("Hans Mustermann");
s1.print();
System.out.println(s1.toString());
System.out.println(s1.getMatNr());
s1.setName("Mustermann, Hans");
s1.print();
System.out.println("-----------------------");
Student s2 = new Student("Anna Musterfrau");
s2.print();
}
}
Download der Lösung (Student.java)
Aufgabe 3
Erweitern Sie die Klasse "Student" aus Aufgabe 1 um ein Feld
double[10], das für 10 Prüfungen, die ein Student ablegen muß, die
Ergebnisse enthält. Bei der Erzeugung eines Studenten werden diese
Feldkomponenten mit 0 initialisiert. Eine Methode ablegenPrf (int
nr, double note) trägt die Note für Prüfung nr in das
Feld ein. Eine Methode zeigeNotenspiegel() soll die bisher
erreichten Ergebnisse eines Studenten auf dem Bildschirm ausgeben.
Testen Sie Ihre Methoden, indem Sie weitere Studenten
anlegen und diesen verschiedene Prüfungsergebnisse zuweisen. Lassen
Sie sich am Ende von jedem Studenten einen Notenspiegel ausgeben.
Download der Lösung (U8_3.java)
| |