ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
590
590
EMPFEHLEN
-
15.11.05 18:16 #1
- Registriert seit
- Oct 2004
- Ort
- Leipzig
- Beiträge
- 589
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.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.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
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
-
Bist ja eh fast am Ziel!
Du sollst keinen zweiten Konstruktor schreiben, sondern den vorhandenen Konstruktor nutzen, um die neue Box zu erzeugen. Alles, was in groessereBox() gemacht wird, ist folgendes: die Dimensionen des Boxobjekts werden alle mit 1,25 multipliziert, dann dem Konstruktor übergeben, um eine Box mit den neuen Werten zu erstellen.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
public class Box{ // Instanz Variablen private double laenge; private double hoehe; private double breite; Box(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 Box groessereBox(){ double laengeNeu = laenge * 1.25; double breiteNeu = breite * 1.25; double hoeheNeu = hoehe * 1.25; return new Box(laengeNeu,breiteNeu,hoeheNeu); } }Geändert von matdacat (16.11.05 um 09:53 Uhr)
-
16.11.05 09:47 #3
- Registriert seit
- Oct 2004
- Ort
- Leipzig
- Beiträge
- 589
Ah danke Dir vielmals , werd es mir gleich mal anschaun.
-
Und noch was: ich weiß nicht, wie eine 'Box' genau aussieht...aber die Flächenberechnung sieht unvollständig aus.
-
16.11.05 09:58 #5
- Registriert seit
- Oct 2004
- Ort
- Leipzig
- Beiträge
- 589
Mhm jops hast recht müsste alles nochmal verdoppeln also jede einzelne Berechnung, da die Flächen ja immer 2 mal exisitieren. Aber da es nur ein Test oder eine Übung ist , kann man das, denk ich mal , auch vernachlässigen
Geändert von FipsTheThief (16.11.05 um 10:00 Uhr)
Ähnliche Themen
-
Komme mit einem SQL-Query nicht klar
Von Snatch2001 im Forum PHPAntworten: 2Letzter Beitrag: 20.08.10, 21:46 -
Komme mit Nested Sets nicht klar
Von ne0hype im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 03.03.08, 19:22 -
komme mit mehreren while-schleifen nicht klar
Von Zero2000 im Forum PHPAntworten: 5Letzter Beitrag: 10.01.08, 14:15 -
Komme mit den $PHP_AUTH Tutorials nicht klar
Von Memfis im Forum PHPAntworten: 6Letzter Beitrag: 30.07.04, 17:25 -
Komme mit C4D nicht klar, was tun ?
Von Xeal87 im Forum Cinema 4DAntworten: 1Letzter Beitrag: 27.05.02, 22:39





Zitieren
Login





