# Rekursion mit Return



## nrg (2. Feb 2010)

Ich probier grad eine Rekursion zu schreiben, die das Ergebnis dann in einem Return zurückgibt. Bis jetzt hab ich es aber nur geschafft das Ergebnis in der Methode auszugeben mal abgesehn von einem kleinen Bug, den ich auch noch net auf die Reihe bekomme . Ich hab leider überhaupt keine Vorstellungen, wie ich das dann in einem int zurückgeben kann.

Schreibe eine Methode int gibFallendesEnde(zahlenfolge), dass eine Zahlenfolge auf Ihre fallenden Glieder untersucht. (rekursiv)
Beispiel:  
564321 → 64321
0 → 0
12345 → 5 
25543 → 543
008898765 → 98765

bis jetzt hab ich es so:

```
static int getDecrementingPart(int i) {
		int j = 0;
		if (i/100 != 0) j = getDecrementingPart (i/10);
		if (i/10-j > i%10) System.out.print(i/10-j);
		return i-i%10;	
	}
```

das gibt bei ersten Beispiel schonmal 6432 aus. Die letzte Ziffer fehlt noch und eigentlich soll die Methode 64321 als int wieder zurückliefern und nicht direkt ausgeben.


danke und grüße
nrg

edit beachten. Hatte eine Zeile vergessen rauszunehmen, die ich nur für mich als Debughilfe hatte.


----------



## denis7788 (2. Feb 2010)

also wenn deine methode die zahl nicht automatisch ausgeben soll, dann musst du auf jeden fall mal das system.out.print weglassen und stattdessen den wert in einer variablen speichern


----------



## nrg (2. Feb 2010)

wenns so einfach wäre hätte ich es schon gemacht...

weiß denn keiner einen brauchbaren Rat?


----------



## SlaterB (2. Feb 2010)

```
public class Test {
    public static void main(String[] args)  {
        System.out.println(getDecrementingPart(25543));
    }
    static int getDecrementingPart(int i)   {
        int own = i % 10;
        int rest = i / 10;

        int j = 0;
        if (rest > 0)  {
            int firstRest = rest % 10;
            if (firstRest > own)   {
                j = getDecrementingPart(rest);
            }
        }
        int ret = j * 10 + own;
        return ret;
    }
}
```


----------



## nrg (2. Feb 2010)

wenn mans dann sieht, siehts wieder so leicht aus 
danke slater


----------

