Sensei: Methode aus anderer Klasse; Wert übergeben

Greez!

Ich hab eine Klasse, die mir 4 Werte (2 Vektoren) (x1, x2, y1, y2) einliest, und von diesen dann die Winkelsymmetrale aurechnet (wieder ein Vektor).

Ich will jetzt von einer anderen Klasse aus diese Klasse aufrufen und ihr Werte übergeben (nämlich 2 Vektoren, die jetzt also nicht mehr mit readFloat von der 1. Klasse ingelesen werden).

Am Schluss sollen mir die 2 Werte (des Vektors der Winkelsymmetrale) mit return zurückgeliefert werden.

Kann mir jemand sagen, wie das mit dem Übergeben von Werten funktioniert? Ich hab das bisher nur so gemacht, dass ich mit

-----------------------------
String Output = new String(Testen.perform());
EprogIO.println(Output);
-----------------------------

die Methode perform() in einer anderen Klasse aufgerufen habe. Müsste ich jetzt, um Werte zu übergeben, nur in die Klammern von perform() meine x1, y1, x2, y2 reinschreiben?

Wie benutze ich diese dann in der Methode perform(x1, y1, x2, y2) ?

Bitte um Hilfe, thx, Sensei

  1. Tag,

    Ich will jetzt von einer anderen Klasse aus diese Klasse aufrufen und ihr Werte übergeben (nämlich 2 Vektoren, die jetzt also nicht mehr mit readFloat von der 1. Klasse ingelesen werden).

    Du musst in der Methode, welcher du Werte übergeben willst, definieren welche Werte das sind und um welchen Typ es sich handelt.

    void perform(int x1, int x2, int y1, int y2){
    /* jetzt kann intern in der Methode mit diesen Werten gearbeitet werden */
    }

    Am Schluss sollen mir die 2 Werte (des Vektors der Winkelsymmetrale) mit return zurückgeliefert werden.

    Also handelt es sich um eine Tür welche sich zu beiden Seiten öffnen lassen muss! Das muss der Methode ebenfalls gesagt werden.

    "void" bedeutet das aus der Methode nichts an den "Aufrufer" zurückgegeben wird. Das ist in deinem Fall aber anders. So musst du angeben welcher Typ zurückgegeben wird.

    String perform(int x1, int x2, int y1, int y2){
    /* Hier z.B. ein r..Typ String */
    return "Ergebniss";
    }

    Das gehört zum Grundwissen !!! Ein gutes Buch könnte weitere Fragen dieser Art lösen.

    cu
    code2i

    1. Danke vielmals!

      Das gehört zum Grundwissen !!! Ein gutes Buch könnte weitere Fragen dieser Art lösen.

      Ich weiß... ich bin eh heftig am aneignen (mit 2 Büchern)...!

      cu
      code2i

      ciao

  2. Hi Sensei

    Als erstes muss ich dir sagen, dass ich in Java auch noch Anfänger bin und schon (viel zu-) lange nichts mehr gemacht habe. Ich versuche dir trotzdem mal zu helfen.

    Am Schluss sollen mir die 2 Werte (des Vektors der Winkelsymmetrale) mit return zurückgeliefert werden.

    AFAIK bereitet genau das Probleme. Ich an deiner stelle würde eine Vektor-Klasse erstellen. Dadurch kannst du Instanzen dieser Klasse ganz einfach an Methoden übergeben und wieder zurück erhalten. Zudem hast du nicht irgendwo zwei Variablen stehen, und weisst nicht, wohin diese gehören. Zudem könntest du in die Klasse noch ein paar grundlegende Methoden einbauen, die zum Beispiel den Betrag des Vektors errechnen.

    Kann mir jemand sagen, wie das mit dem Übergeben von Werten funktioniert? Ich hab das bisher nur so gemacht, dass ich mit


    String Output = new String(Testen.perform());
    EprogIO.println(Output);

    die Methode perform() in einer anderen Klasse aufgerufen habe. Müsste ich jetzt, um Werte zu übergeben, nur in die Klammern von perform() meine x1, y1, x2, y2 reinschreiben?

    Ja, jedoch musst du die Methode auch noch ein wenig anpassen. In deinem Javabuch steht näheres zu dem Thema.

    Wie benutze ich diese dann in der Methode perform(x1, y1, x2, y2) ?

    Du kannst sie wie ganz normale Variablen in dieser Methode benutzen. Deklarieren musst du sie natürlich dann nicht.

    MfG & HtH

    Tom2

    --
    "Experience is something you don't get until just after you need it."
     by Steven Wright