logo

 

 
 

 

 

 

 

 

 

Übersicht aller Übungen

  • Übung 1
  • Übung 2
  • Übung 3
  • Übung 4
  • Übung 5
  • Übung 6
  • Übung 7
  • Übung 8
  • Übung 9
  • Übung 10
  • Übung 11
  • Übung 12




    alle Lösungen (als *.zip)


  • Lösung Übung 1
  • Lösung Übung 2
  • Lösung Übung 3
  • Lösung Übung 4
  • Lösung Übung 5
  • Lösung Übung 6
  • Lösung Übung 7
  • Lösung Übung 8
  • Lösung Übung 9
  • Lösung Übung 10
  • Lösung Übung 11
  • Lösung Übung 12

  • Ü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:

    • zwei Datenfelder
    • einen Konstruktor (mit zwei Parametern)
    • Methoden zum Setzen (setX, setY) und zum Auslesen (getX, getY) der Koordinaten
    • eine Methode, die zwei Punkte auf Gleichheit testet (equals)
    • eine Methode, die einen Punkt in der Form (x|y) ausgibt (print), sowie eine überladene Methode (print), die zusätzlich vor den Koordinaten (x|y) einen beliebigen String ausgibt
    • Methoden (mirrorX, mirrorY) zum Spiegeln eines Punktes an der x- bzw. y-Achse
    • eine Methode (distanceTo), die den Abstand eines Punktes zu einem anderen berechnet.

      Die Distanz zwischen (x1|y1) und (x2|y2) berechnet sich durch die Formel:
      sqrt ((x1-x2)² + (y1-y2)²)


    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)
     
     
     

     


     
           
    © 2002 by Daniel Stojceski • Zylous@web.de