Java - Rekursion die Summe der Zahl und wie es funktioniert
Bin ich zu schreiben versucht, eine rekursive Funktion, dass wenn ich den Anruf mit der Nummer 5 zum Beispiel, dann ist die Funktion berechnet die Summe aller Ziffern von fünf.
1 + 2 + 3 + 4 + 5 = 15
Den aktuellen code gibt immer 0 zurück, wie kann die Menge jedes mal, wenn das n?
public class t {
public static void main(String[] args) {
System.out.println(num(5));
}
public static int num(int n) {
int sum = 0;
sum += n;
if (n == 0)
return sum;
return num(n - 1);
}
}
danke.
- Versuchen Sie einen Stift oder Debuggen.
- Verwenden Sie nur die
sum
wennn == 0
, sonst ignorieren Sie es.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstatt die Summe zu
0
können Sie -Tun Sie dies:
return n <= 1 ? n : num(n -1) + n;
hat es in der 1.Zeile.Das problem ist, legen Sie die Summe immer 0.