FipsTheThief
Erfahrenes Mitglied
Also ich bin eben dabei mir Java mittels Learning by Doing bei zu bringen.
Dafür habe ich ein Tutorial und die AUfgabenstellung lautet am Ende :
Was ich bisher habe funktioniert soweit zwar nun , aber auf einen anderen Wege indem ich eine Refferenz (?) von der alten Box erzeugt habe.
Klar da fehlt der 2. Konstruktor der Klasse Box und diese Methode
public Box groessereBox()
{
return new Box( 1.25 * this.breite, ...... )
}
existiert ja gleich mal gar nicht , zumal ich da gar nicht erst durchsteige
Dafür habe ich ein Tutorial und die AUfgabenstellung lautet am Ende :
Es wäre schön eine Box zu erzeugen, die größer ist als eine gegebene Box. Schreiben Sie diese Methode:
public Box groessereBox()
Das ist eine öffentliche Methode, die eine Referenz auf ein neues Box-Objekt zurückgibt. Die neue Box wird in jeder Dimension 25% größer sein als die alte Box. Die Methode wird einen Konstruktor verwenden müssen, um die neue Box zu erzeugen:
public Box groessereBox()
{
return new Box( 1.25 * this.breite, ...... )
}
Das Schlüsselwort this bezieht sich auf das Objekt, das diese Methode aufruft. Es muss nicht mit angegeben werden und dient nur der besseren Verständlichkeit. Schreiben Sie jetzt eine Methode, die eine Box zurückgibt, die in jeder Dimension 25% kleiner ist als eine gegebene Box. Schreiben Sie wie üblich ein Testprogramm, um Ihre Klasse zu testen.
Was ich bisher habe funktioniert soweit zwar nun , aber auf einen anderen Wege indem ich eine Refferenz (?) von der alten Box erzeugt habe.
Code:
class Box2{
// Instanz Variablen
private double laenge;
private double hoehe;
private double breite;
Box2(double l,double h,double b){
laenge = l;
hoehe = h;
breite = b;
}
public double Flaeche(){
return laenge*hoehe + laenge*breite + breite*hoehe;
}
public double Volumen(){
return laenge*hoehe*breite;
}
public void groessereBox(){
laenge += (laenge * 25)/100;
breite += (breite * 25)/100;
hoehe += (hoehe * 25)/100;
}
}
class TestBox2{
public static void main(String[] args){
// Volumen und Fläche berechnen
Box2 box = new Box2(20,10,15);
System.out.println(box.Volumen());
System.out.println(box.Flaeche());
Box2 x = box;
x.groessereBox();
System.out.println(x.Volumen());
System.out.println(x.Flaeche());
}
}
Klar da fehlt der 2. Konstruktor der Klasse Box und diese Methode
public Box groessereBox()
{
return new Box( 1.25 * this.breite, ...... )
}
existiert ja gleich mal gar nicht , zumal ich da gar nicht erst durchsteige