在此程序中,您將學(xué)習(xí)使用Java遞歸來查找自然數(shù)之和。這是在遞歸函數(shù)的幫助下完成的。
正數(shù)1、2、3 ...稱為自然數(shù)。下面的程序從用戶處獲取一個正整數(shù),然后計算得出給定數(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; } }
運行該程序時,輸出為:
Sum = 210
將求和的數(shù)字存儲在變量number中。
最初,從main()函數(shù)中調(diào)用addNumbers(),并以20作為參數(shù)傳遞。
number(20)被添加到addNumbers(19)的結(jié)果中。
在下一個從addNumbers()到addNumbers()的函數(shù)調(diào)用中,將傳遞19,該值將添加到addNumbers(18)的結(jié)果中。 此過程一直持續(xù)到num等于0。
當(dāng)num等于0時,沒有遞歸調(diào)用,然后將整數(shù)的和返回給main()函數(shù)。