Ich möchte mit einer Methode vergleichen, ob eine Box von den Werten (Breite, Höhe, Länge) in eine andere Box passt.
Ich hänge an der if Bedingung fest.
}
Ich weiß hier nicht wo ich den richtigen Wert für die "äußereBox" herbekomme. Die Methode getBreite() scheint ja nur den selben Wert wie this.breite zu fiefern wodurch immer false zurückgegeben wird.
Java:
class Box
{
// Variablen
private double breite;
private double länge;
private double höhe;
// Konstruktoen
Box (double breite, double länge, double höhe)
{
this.breite = breite;
this.länge = länge;
this.höhe = höhe;
}
Box (double seite)
{
breite = seite;
länge = seite;
höhe = seite;
}
Box (Box altebox)
{
this.breite = altebox.getBreite();
this.länge = altebox.getLänge();
this.höhe = altebox.getHöhe();
}
// Methoden
public double getLänge()
{
return länge;
}
public double getHöhe()
{
return höhe;
}
public double getBreite()
{
return breite;
}
public double berechneVolumen()
{
return breite * höhe * länge;
}
private double berechneOberflaecheVorn()
{
return breite * höhe;
}
private double berechneOberflaecheOben()
{
return breite * länge;
}
private double berechneOberflaecheSeitlich()
{
return höhe * länge;
}
public double berechneOberflaeche( )
{
return 2 * berechneOberflaecheVorn() +
2 * berechneOberflaecheOben() +
2 * berechneOberflaecheSeitlich() ;
}
public Box großeBox()
{
return new Box(1.25*breite, 1.25* länge, 1.25* höhe);
}
public Box kleineBox()
{
return new Box(0.75*breite, 0.75* länge, 0.75* höhe);
}
public boolean passtIn (Box äußereBox)
{
if (this.breite < ??? )
{
System.out.println("Die Box passt");
return true;
}
System.out.println("Die Box passt nicht");
return false;
}
}
class BoxTester
{
public static void main ( String[] args )
{
Box box = new Box(2.5, 5.0, 6.0 );
System.out.println( "Flaeche: " + box.berechneOberflaeche( ) +
" Volumen: " + box.berechneVolumen( ) );
System.out.println( "Laenge: " + box.getLänge() +
" Hoehe: " + box.getHöhe() +
" Breite: " + box.getBreite());
System.out.println("");
Box boxneu = new Box(box);
System.out.println( "Flaeche: " + boxneu.berechneOberflaeche( ) +
" Volumen: " + boxneu.berechneVolumen( ) );
System.out.println( "Laenge: " + boxneu.getLänge() +
" Hoehe: " + boxneu.getHöhe() +
" Breite: " + boxneu.getBreite());
System.out.println("");
box = box.großeBox();
System.out.println( "Flaeche: " + box.berechneOberflaeche( ) +
" Volumen: " + box.berechneVolumen( ) );
System.out.println( "Laenge: " + box.getLänge() +
" Hoehe: " + box.getHöhe() +
" Breite: " + box.getBreite());
System.out.println("");
boxneu = boxneu.kleineBox();
System.out.println( "Flaeche: " + boxneu.berechneOberflaeche( ) +
" Volumen: " + boxneu.berechneVolumen( ) );
System.out.println( "Laenge: " + boxneu.getLänge() +
" Hoehe: " + boxneu.getHöhe() +
" Breite: " + boxneu.getBreite());
System.out.println("");
boxneu.passtIn(box);
}
}
Ich hänge an der if Bedingung fest.
Java:
public boolean passtIn (Box äußereBox)
{
if (this.breite < ??? ())
{
System.out.println("Die Box passt");
return true;
}
System.out.println("Die Box passt nicht");
return false;
Ich weiß hier nicht wo ich den richtigen Wert für die "äußereBox" herbekomme. Die Methode getBreite() scheint ja nur den selben Wert wie this.breite zu fiefern wodurch immer false zurückgegeben wird.