erstellt: 23.09.99; übersetzt: 19.05.03; überarbeitet 26.01.04, 12.07.04, 18.01.05; © Copyright 2003 - 2006 Deutsche Übersetzung Heinrich Gailer

Füllen Sie die Lücken aus

1.       Entwurf der Box-Klasse.     Objekte von dieser Klasse werden eine Box repräsentieren (wie einen Karton.) Die Seiten der Box sind Rechtecke. Eine Box hat drei wesentliche Merkmale: Breite, Höhe und Länge. Ausgehend von diesen Merkmalen können andere Werte berechnet werden: Volumen und Gesamtoberfläche.


Füllen Sie in dem folgenden Klassenentwurf die Lücken aus:

class 

Eine Klasse, die einen Karton modelliert.

Konstruktoren

Box ( double ,
      double ,
      double   )
Der Konstruktor sollte Volumen und Fläche nicht als Parameter beinhalten, da diese Werte von breite, hoehe und laenge der Box berechnet werden können. Der Einfachheit halber nehmen wir einen Konstruktor auf, der verwendet wird, wenn alle Seiten der Box gleich groß sind (wenn die Box ein Würfel ist):

Box ( double )

Methoden

// Das Volumen der Box berechnen
double  

// Die Gesamtoberfläche der Box berechnen.
double  



2.      Überprüfung des Designs.    Schreiben Sie ein kleines Programm, das die Klasse verwendet, um das Design zu überprüfen. Schreiben Sie ein Programm, das ein Box-Objekt mit den Seiten 2.5, 5.0, und 6.0 Zoll erzeugt. Geben Sie die Oberfläche und das Volumen aus.


class BoxTester
{

  public static void main ( String[] args )
  {
     Box box = new   ;

     System.out.println( "Flaeche: "    + box. +
                         "  Volumen: " + box. );

  }
}



3.      Grundgerüst der Klasse.    Füllen Sie die Lücken aus, um das Grundgerüst der Klasse anzugeben.

class Box
{
  // 

  // 

  // 

}



4.      Füllen Sie die Instanzvariablen aus.    Füllen Sie den Datentyp für jede Instanzvariable aus.

class Box
{
  // Instanzvariablen
   laenge;
   breite;
   hoehe;

  // Konstruktoren

  // Methoden

}



5.      Vervollständigen Sie den Konstruktor.    Der Konstruktor wird die Instanzvariablen der zu konstruierenden Objekte initialisieren.

class Box
{
  // Instanzvariablen
  double laenge;
  double breite;
  double hoehe;

  // Konstruktoren
  ( double , double , double   )
  {
    this.breite   =   ;
    this.hoehe  =  ;
    this.laenge  =  ;
  }

  // alle Seiten mit dem gleichen Wert initialisieren
  ( double  )
  {
    breite   =  ;
    hoehe  =  ;
    laenge  =  ;
  }


  // Methoden

}

Wenn eine Instanzvariable und ein Parameter den gleichen Bezeichner verwendet, geben Sie die Instanzvariable des Objekts an, in dem Sie "this.bezeichner" verwenden, wie in dem obenstehenden Beispiel.



6.      Vervollständigen Sie die Methode.     Die Dokumentation für die berechneVolumen() Methode besagt, dass sie folgendermaßen aussieht:

// Volumenberechnung der Box
double  berechneVolumen()
Die zu verwendende Formel ist: Volumen = Produkt aller drei Seiten
class Box
{
  // Instanzvariablen
  double laenge;
  double breite;
  double hoehe;


  // Konstruktoren
  Box ( double breite, double hoehe, double laenge )
  {
    this.breite  = breite;
    this.hoehe   = hoehe;
    this.laenge  = laenge;
  }

  Box ( double seite )
  {
    breite  = seite;
    hoehe   = seite;
    laenge  = seite;
  }

  // Methoden
  double berechneVolumen()
  {
    return  *  * ;
  }

}

(Natürlich können die drei Instanzvariablen in dem arithmetischen Ausdruck in beliebiger Reihenfolge verwendet werden.)



7.      Vervollständigen Sie die nächste Methode.     Die Dokumentation für die berechneFlaeche() Methode besagt, dass sie folgendermaßen aussieht: double berechneFlaeche() . Es gibt für eine Box drei Paare von Seiten. Gegenüberliegende Seiten haben die gleiche Fläche, also sieht die Berechnung wie folgt aus:

2 * (Summe der Fläche aller eindeutigen Seiten)
class Box
{
  // Instanzvariablen
  double laenge;
  double breite;
  double hoehe;


  // Konstruktoren
  Box ( double breite, double hoehe, double laenge )
  {
    this.breite  = breite;
    this.hoehe   = hoehe;
    this.laenge  = laenge;
  }

  Box ( double seite )
  {
    breite  = seite;
    hoehe   = seite;
    laenge  = seite;
  }

  // Methoden
  double berechneVolumen()
  {
    return breite * hoehe * laenge;
  }

  double berechneFlaeche()
  {
    return 2 * (  *  +
                  *  +
                  *  ) ;
  }

}



8.      An dieser Stelle ist das Kodieren der Box-Klassendefinition fertig. Angenommen das kleine Testprogramm (Klasse BoxTester) befindet sich in einer Datei mit dem Namen BoxTester.java und die komplette Definition der Box-Klasse in einer Datei mit dem Namen Box.java.  

class BoxTester
{

  public static void main ( String[] args )
  {

     // eine Box mit den Seiten 2.5, 3.0 und 5.0 erzeugen

     Box box1 = new  Box( 2.5, 3.0, 5.0 );

     System.out.println( "Box1 Flaeche: "    + box1.berechneFlaeche() +
                         "  Volumen: " + box1.berechneVolumen()  );

     // eine Box mit gleichen Seiten von 3.0 erzeugen

     Box box2 =   Box (  );

     System.out.println( "Box2 Flaeche: "    + box2.berechneFlaeche() +
                         "  Volumen: " + box2.berechneVolumen()  );


  }
}



9.      Kompilieren Sie die Dateien.     Jede der zwei Dateien muss kompiliert werden:

C:\javaNotes\beispiele>javac  

C:\javaNotes\beispiele>javac  



10.      Starten Sie das Programm.     Der Java Bytecode-Interpreter muss mit der *.class Datei gestartet werden, die die main()-Methode enthält:

C:\javaNotes\beispiele>java  



Ende des Tests. Wenn Sie ihn wiederholen möchten, klicken Sie in Ihrem Browser auf "Aktualisieren".

Zurück zum Inhaltsverzeichnis.