Guten Abend! Ich habe ein Java Programm geschrieben wo ich ein Objekt in der Methode erzeuge und sie auch mit dem ergebnis zurück gebe. Wie kann ich das Programm ausführen lassen in der main? zb erzeuge ich das Objekt in der methode taschenRechner und möchte zwei zahlen bearbeiten addiere sie bspw. Wenn ich in der Main das aufrufe gebe sage ich ja objektname.methode(Übergabeparameter). Wie kann der Aufruf in der Methode erfolgen das was auf meiner Konsole steht? finde dazu explizit nichts im netz..
publicclassTaschenrechner{privateint numerator;privateint denominator;publicTaschenrechner(int numerator,int denominator){this.numerator = numerator;this.denominator = denominator;System.out.println(this.numerator +"/"+this.denominator);}/**
* Verändert den Zähler eines Bruchs
* @param numerator Zähler des Bruchs
*/publicvoidsetNumerator(int numerator){this.numerator = numerator;}publicvoidsetDenominator(int denominator){this.denominator = denominator;}publicintgetNumerator(){returnthis.numerator;}publicintgetDenominator(){returnthis.denominator;}//InstanzmethodenpublicvoidprintFraction(){System.out.println(this.numerator +"/"+this.denominator);}publicTaschenrechnermultiply(){returnnewTaschenrechner(4*this.numerator,2*this.denominator);}
So habe es bisschen ausgebessert und sauberer geschrieben (hoffe ich). Ich kann in meiner main eig objekte erstellen aber ich soll das in der Methode machen.. das habe ich auch (hoffe richtig) aber weiss nicht wie ich das Ergebnis auf die konsole bekomme? eine ganz simple und dumme Frage, wie führe ich das jetzt aus .. Hätte ich das objekt ganz normal in der main erzeugt dann wüsste ich Objektname.methode(übergabeparameter). Aber ich soll in der Methode einen neuen Bruch erzeugen und das mit dem ergebnis zurück geben. hoffe ich ich konnte erklären was mein problem ist..
Was soll denn bitte diese Methode für einen Sinn machen? Beschreibe mal bitte mit eigenen Worten, was diese Methode überhaupt tun soll. Aktuell multipliziert sie den Bruch, auf dem sie aufgerufen wird, einfach mit 2 (Multiplikation des Zählers mit 4 und des Nenners mit 2 - warum auch immer).
Aber, um deine ganz konkrete Frage zu beantworten:
Was soll denn bitte diese Methode für einen Sinn machen? Beschreibe mal bitte mit eigenen Worten, was diese Methode überhaupt tun soll. Aktuell multipliziert sie den Bruch, auf dem sie aufgerufen wird, einfach mit 2 (Multiplikation des Zählers mit 4 und des Nenners mit 2 - warum auch immer).
Aber, um deine ganz konkrete Frage zu beantworten:
Dankeschön!!! Ich hatte wirklich keinen plan wie ich das machen soll. Ehrlich gesagt keine Ahnung warum ich das so machen muss, da müsste ich meinen Lehrer fragen ich hatte eigentlich zwei Objekte erstellt mit ünergabeparametern und konnte somit einen Bruch miteinander multiplizieren und ausgeben lassen. Jedoch sollte es dann so sein, das der Bruch in der Methode erstellt wird und das mit dem Ergebnis returnd werden soll. Danke nochmals!
a ist hier sozusagen mein aktuelles objekt und mein b ist das was ich der mehtode mitgebe, wodurch mit a und b rechenoperationen durchgeführt werden können oder? das heisst this.numerator wäre meine 2 und f.getNumerator() die 5? und so werden zwei verschiedene objekte MITEINANDER bearbeitet hab ich das richtig verstanden?
Interpretiere da nicht so viel hinein. "Zwei verschiedene Objekte miteinander bearbeiten" klingt schon etwas komisch.
Die Methode `multiply` ist einfach eine ganz normale Instanzmethode der Klasse `Fraction` und die Methode besitzt einen Parameter vom Typ `Fraction` und hat als Rückgabetyp ebenfalls `Fraction`.
Was du nun innerhalb einer Methode machst, ist völlig dir überlassen.
Du kannst den (oder auch die) Parameter verwenden oder auch nicht. Und in diesem Fall sollte die Methode vermutlich (du hast ja bisher keine meiner Fragen bezüglich des Sinns der Methode beantwortet) zwei Brüche miteinander multiplizieren und das Ergebnis als neue Bruch-Instanz zurückliefern.
In diesem Fall macht es also Sinn, die Methode so zu implementieren.
Hier wird nichts "bearbeitet". Hier wird einfach ein neues Bruch-Objekt erzeugt und als Konstruktorargumente der neue Zähler und Nenner mitgegeben.
Interpretiere da nicht so viel hinein. "Zwei verschiedene Objekte miteinander bearbeiten" klingt schon etwas komisch.
Die Methode `multiply` ist einfach eine ganz normale Instanzmethode der Klasse `Fraction` und die Methode besitzt einen Parameter vom Typ `Fraction` und hat als Rückgabetyp ebenfalls `Fraction`.
Was du nun innerhalb einer Methode machst, ist völlig dir überlassen.
Du kannst den (oder auch die) Parameter verwenden oder auch nicht. Und in diesem Fall sollte die Methode vermutlich (du hast ja bisher keine meiner Fragen bezüglich des Sinns der Methode beantwortet) zwei Brüche miteinander multiplizieren und das Ergebnis als neue Bruch-Instanz zurückliefern.
In diesem Fall macht es also Sinn, die Methode so zu implementieren.
Hier wird nichts "bearbeitet". Hier wird einfach ein neues Bruch-Objekt erzeugt und als Konstruktorargumente der neue Zähler und Nenner mitgegeben.
Okay ich denke manchmal versuch ich alles im detail zu verstehen. Den sinn habe ich selber wahrscheinlich nicht genau verstanden weshalb ich keine genaue antwort drauf habe. Das war eigentlich genau die Aufgabenstellung. Wahrscheinlich zur übung denke ich mal.. vielen dank hat mir sehr viel weitergeholfen