Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
---- formale Sprachen (http://www.informatikerboard.de/board/board.php?boardid=12)
----- Methode muss zwei Werte zurückgeben (http://www.informatikerboard.de/board/thread.php?threadid=1484)


Geschrieben von Lycaner am 26.04.2013 um 20:31:

  Methode muss zwei Werte zurückgeben

Guten Abend
Ich habe eine Methode und die muss zwei int zurückgeben. Ich habe im Internet zwei Varianten gesehen, wie man es machen könnte aber keine der beiden funktioniert bei mir. Wo ist mein fehler?

public Bruch addiere(Bruch summand2){
int ergZähler;
int ergNenner;
ergZähler=this.holeZähler()*summand2.holeNenner()
+summand2.holeZähler()*this.holeNenner();
ergNenner=this.holeNenner()*summand2.holeNenner();
}/*
public int getZähler(){
return ergZähler;
}
public int getNener(){
return ergNenner;
}*/
private ergebnis(int ergZähler, int ergNenner){
this.ergZähler=ergZähler;
this.ergNenner=ergNenner;
return ergebnis(int ergZähler, int ergNenner);
}



Geschrieben von Karlito am 26.04.2013 um 21:35:

 

Hallo,

für das nächste mal wäre es schön wenn Du die Programmiersprache mit angibst.

In Java und C# (danach sieht es aus) kann man nicht mehr als einen Rückgabewert zurückgeben.

Um soetwas zu realisieren muss man ein Objekt oder ein Struct (Struct gibt es nur in C#) zurückgeben.

Wie genau lautet denn deine Aufgabenstellung?

VG,

Karlito



Geschrieben von Lycaner am 26.04.2013 um 22:06:

 

Ich muss Java machen.
Die Aufgabenstellung lauten, programmieren Sie ein Methode die zwei Brüche addiert.
Da ich das Ergebnis als Bruch zurück haben will, dachte ich, zwei int zurückzugeben. Eins für Zähler und eins für Nenner.



Geschrieben von Lycaner am 26.04.2013 um 22:20:

 

Ich glaube ich habe es jetzt

public Bruch addiere(Bruch summand2){
int ergZähler;
int ergNenner;
ergZähler=this.holeZähler()*summand2.holeNenner()
+summand2.holeZähler()*this.holeNenner();
ergNenner=this.holeNenner()*summand2.holeNenner();
Bruch ergebnis = new Bruch(ergZähler,ergNenner);
return ergebnis;
}



Geschrieben von Karlito am 27.04.2013 um 15:43:

 

Ja, genau so kann das Funktionieren.

Es gibt jedoch auch die Möglichkeit, die Methode Add so anzupassen, dass der Wert des Bruches, bei dem die Methode Add aufgerufen wurde angepasst wird. Hast du also zwei Variablen vom Typ Bruch (bruch1, bruch2), so würde sich bei bruch1.Add(bruch2); ergeben, dass in bruch1 direkt das Ergebnis steht. Dabei geht jedoch der alte Wert von bruch1 verloren.
Alternativ könnte man noch eine statische Methode Add einführen, welche zwei Parameter von Typ Bruch hat und diese beiden Brüche addiert.

VG,

Karlito


Forensoftware: Burning Board, entwickelt von WoltLab GmbH