在此程序中,您將學(xué)習(xí)使用Java遞歸來查找自然數(shù)之和。這是在遞歸函數(shù)的幫助下完成的。
正數(shù)1、2、3 ...稱為自然數(shù)。下面的程序從用戶處獲取一個(gè)正整數(shù),然后計(jì)算得出給定數(shù)字的總和。
您也可以使用循環(huán)找到自然數(shù)的總和 。但是,您將在此處學(xué)習(xí)使用遞歸解決此問題。
public class AddNumbers {
public static void main(String[] args) {
int number = 20;
int sum = addNumbers(number);
System.out.println("Sum = " + sum);
}
public static int addNumbers(int num) {
if (num != 0)
return num + addNumbers(num - 1);
else
return num;
}
}運(yùn)行該程序時(shí),輸出為:
Sum = 210
將求和的數(shù)字存儲(chǔ)在變量number中。
最初,從main()函數(shù)中調(diào)用addNumbers(),并以20作為參數(shù)傳遞。
number(20)被添加到addNumbers(19)的結(jié)果中。
在下一個(gè)從addNumbers()到addNumbers()的函數(shù)調(diào)用中,將傳遞19,該值將添加到addNumbers(18)的結(jié)果中。 此過程一直持續(xù)到num等于0。
當(dāng)num等于0時(shí),沒有遞歸調(diào)用,然后將整數(shù)的和返回給main()函數(shù)。