Java - Objektvariable an eine andere Klasse weitergeben?

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von Dark-Nightmare, 31.05.2013.

  1. #1 Dark-Nightmare, 31.05.2013
    Dark-Nightmare

    Dark-Nightmare Erfahrener Benutzer

    Dabei seit:
    21.01.2007
    Beiträge:
    1.807
    Zustimmungen:
    0
    Ort:
    Hamburg
    Hi,
    ich habe eine Klasse Point erstellt. In dieser gibt es die Variablen double x,y, und z. Für alle gibt es eine eigene getter und setter Methode. In meiner Application Klasse erstelle ich nun ein Objekt point1 vom Typ Point. Ich lese über die Konsole 3 Werte ein und speicher die Werte über die setter. Nun möchte ich an eine weitere Klasse das Objekt point1 mit seinen Werten übergeben und weiß nicht wie ich das anstellen soll?

    Kann mir einer weiterhelfen?
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. Lotus

    Lotus Erfahrener Benutzer

    Dabei seit:
    17.02.2007
    Beiträge:
    2.428
    Zustimmungen:
    0
    Erstelle in der neuen Klasse eine Variable des Klassentyps?!

    Was du für einfachen Datentypen (double) machen kannst, geht in Java auch für eigen erstellte Klassen / Datentypen.

    Code:
    public class NewClass {
    Point myPoint;
    
    public void setMyPoint(Point p1) {
    ...
    }
    }
     
  4. #3 Dark-Nightmare, 31.05.2013
    Dark-Nightmare

    Dark-Nightmare Erfahrener Benutzer

    Dabei seit:
    21.01.2007
    Beiträge:
    1.807
    Zustimmungen:
    0
    Ort:
    Hamburg
    Danke Lotus, du bist mein Held :)
    Ich glaub ich saß gestern einfach zu lange davor... mir ist das nicht eingefallen :)
     
  5. Lotus

    Lotus Erfahrener Benutzer

    Dabei seit:
    17.02.2007
    Beiträge:
    2.428
    Zustimmungen:
    0
    Aller Anfang ist schwer. Freut mich das ich dir helfen konnte.
     
  6. #5 Dark-Nightmare, 05.06.2013
    Zuletzt bearbeitet: 05.06.2013
    Dark-Nightmare

    Dark-Nightmare Erfahrener Benutzer

    Dabei seit:
    21.01.2007
    Beiträge:
    1.807
    Zustimmungen:
    0
    Ort:
    Hamburg
    Moin, ich habe eine weiter Frage. Ich schrieb sie hier rein, da es sich immer noch um die selbe Aufgabe handelt.

    Das Programm hat nun vier Klassen. Cuboid, Sphere, Point und Application. Point dient zum setzen eines Punktes aus dem Koordinatensystem(x,y,z). Cuboid, berechnet aus zwei Punkten, den Schwerpunkt, die Oberfläche und das Volumen eines Quaders und prüft ob es sich eventuell um einen Würfel handelt. Sphere macht das selbe, nur aus einem Punkt und dem Radius. Application führt das ganze aus. Nun soll ich eine Testklasse schreiben, die alle Methoden teste. Klappt auch alles soweit wunderbar.

    Mein Problem besteht nun noch beim Schwerpunkt. Ich übergebe der Methode in Cuboid zwei Koordinaten und er soll mir den Schwerpunkt ausrechnen. Das Problem ist nun wie ich im Test den Schwerpunkt Point und meinen Ergebnis Schwerpunkt vergleiche. == funktioniert nicht. Nun versuche ich es mit equals und es scheint auch nicht zu funktionieren. Die beiden Werte sind identisch. Aber irgendwie kommt da immer false raus.

    So sieht die Test Methode aus:
    Code:
    	private boolean testCuboidCenter() { 
    		Point point1 = new Point(1,1,1);
    		Point point2 = new Point(6,4,2);
    		Point point3 = new Point(3.5,2.5,1.5);
    
    		Cuboid cb = new Cuboid(point1,point2);
    		return cb.getCenter(point1, point2).equals(point3);
    	}
    Kann mir da jemand weiterhelfen?
     
  7. #6 Blaxxun, 05.06.2013
    Zuletzt bearbeitet: 05.06.2013
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    Naja anhand des Code Auschnitts lässt sich nichts sagen. Hau mal die Cuboid Klasse bei pastebin.com oder hier rein.
    Außerdem Cuboid bekommt bereits zwei Punkte mitgegeben,warum übergibst du die Punkte bei getCenter() nochmals, obwohl die innerhalb des Objects bereits bekannt sind(/sein sollten).

    Schau dir zu equals auch mal die Api Doku an. equals() funktioniert nicht immer identisch für alle Objecte wie bei Strings. Gibt getCenter() einen String zurück, oder was?

    //edit; gehts um awt?
    Du kannst dir außerdem einen breakPoint setzen und dann mal im DebugModus ausführen um zu sehen welche Werte du hast.
     
  8. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  9. #7 Dark-Nightmare, 05.06.2013
    Dark-Nightmare

    Dark-Nightmare Erfahrener Benutzer

    Dabei seit:
    21.01.2007
    Beiträge:
    1.807
    Zustimmungen:
    0
    Ort:
    Hamburg
    Hi Blaxxun,
    ich hab den Fehler mit dem Debugger ausfindig machen können. getCenter gibt einen Koordinaten Punkt (Point (x,y,z)) zurück. Ich habe in Point eine Methode boolean equals(Point other) eingefügt, die prüfen soll ob mein berechneter Punkt gleich dem Ergebnis ist. Dort habe ich bei dem einen Punkt anstatt z, den Wert von x eingelesen.

    Nun funktioniert alles :D
    Danke Debugger :)

    Auch dir danke Blaxxun :) Ich werde mir die equals aber in der Api nochmal genau durchlesen und getCenter() bekommt nun auch keine Werte mehr.
    Das war noch ein Überbleibsel als ich keinen eigenen Konstruktor geschrieben hatte.
     
  10. Lotus

    Lotus Erfahrener Benutzer

    Dabei seit:
    17.02.2007
    Beiträge:
    2.428
    Zustimmungen:
    0
    Pauschal kann man sagen: In Java kannst du bei Zahlen ruhig den == Operator verwenden. Bei Objekten und Strings verwendet man equals. Es kann natürlich auch der == auf Objekte angewandt werden, dann wird aber überprüft ob es sich um ein identisches Objekt handelt, das bedeutet die gleiche Speicheradresse verwendet wird.
     
Thema: Java - Objektvariable an eine andere Klasse weitergeben?
Besucher kamen mit folgenden Suchen
  1. objekte von klasse zu klasse weitergeben java

    ,
  2. java Objektvariablen klasse

Die Seite wird geladen...

Java - Objektvariable an eine andere Klasse weitergeben? - Ähnliche Themen

  1. Tastaturtester mit Java

    Tastaturtester mit Java: Hallo Leute, ich wollte gerade mal auf die Schnelle ein Tastaturtester mit Java bauen. Grund ist ein neuer Encoder, der nächste Woche...
  2. Java 7

    Java 7: Hallo :) Ich kann mir kein Java Installieren weil er mir in den Programmen schon "Java 7 Update 9" anzeigt. Deinstallieren funktioniert auch...
  3. Java-Programmierung - Fehler bei Ausführung

    Java-Programmierung - Fehler bei Ausführung: Ich habe kürzlich begonnen, mich mit der Programmierung in Java zu beschäftigen. Auf meinem PC habe ich Windows 8 laufen und verwende dias Java...
  4. Hauptmenü für Spiel in Java

    Hauptmenü für Spiel in Java: Hallo Leute, ich habe ein kleines Problem. Ich sollte für die Uni ein Spiel in Java schreiben und habe mich dabei für das Applet entschieden,...
  5. java

    java: Hallo, täglich kommt ein Fenster mit: - JAVA - laden sie eine wesentliche Ergänzung auf ihren PC! Installer_java_deutsch.exe (könnte ihren PC...