Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » Rekursion - Return-Problem » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 7 Beiträge
Tina92

Alles klar, danke dir für deine Hilfe :-)
eulerscheZahl

Der übliche Weg wäre, zwei Funktionen getGewicht() und getGewicht2() zu schreiben. Wenn du wirklich mehrere Rückgabewerte haben willst, brauchst du irgendeine Form von Datensammlung (Array, eigene Klasse, ...), kannst das auch als object zurückgeben, wenn du willst.
Tina92

Ich check's nicht; Das hatte ich gestern versucht, dann ging es nicht traurig

Eine Frage noch:

Ich habe zum Beispiel einen primitiven Datentypen float mit dem Namen gewicht = 5.2F und ein weiteres float gewicht2 = 2.4F;

Ich möchte beide Werte zurückgeben:

return gewicht + gewicht2 addiert mir aber die Werte. Wie schaffe ich es, dass mir beide Werte zurückgegeben werden ohne Addition?


Vielen Dank
eulerscheZahl

Mache beim return das Plus zum Mal, dann passt es.
Tina92

Entschuldige bitte, da habe ich totalen Mist gebaut. Hier der richtige Code:

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:

package rekursiv;

public class rekursiv 
{
    public static void main(String[] args) 
    {
        System.out.println(rekursivFakultät(5));
    }
    
    public static int rekursivFakultät (int n)
    {
        int result = 1; 
        
        if (n>0)
        {
            result *=n;
            return rekursivFakultät(n-1) + result;
        }
        else return 1; 
    }
}




Anstatt 120 für die Fakultät bekomme ich aber 16 als Ergebnis. Meiner Meinung nach muss der Fehelr beim return irgendwo liegen.
eulerscheZahl

Die Funktion ist weder rekursiv, noch berechnet sie eine Fakultät.

Der Rückgabewert der Funktion ist int, also eine einzige Ganzzahl.

Zitat:
die beiden Ergebnisse

Was ist denn das andere Ergebnis?
Tina92 Rekursion - Return-Problem

Meine Frage:
Hallo :-)

Ich habe den nachfolgenden Code geschrieben, verstehe aber nicht, warum mir mein return immer das Ergebnis der Addition liefert? Ich hätte gerne die beiden Ergebnisse nebeneinander (oder untereinander) stehen.

Vielen Dank :-)

Meine Ideen:
Der Code:

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:

package rekursiv;

public class rekursiv 
{
    public static void main(String[] args) 
    {
        System.out.println(rekursivFakultät(255));
    }
    
    public static int rekursivFakultät (int n)
    {
        int zahl1 = n; 
        int zahl2 = n+10; 
        
        return zahl1 + zahl2; 
    }
}