正数 1, 2, 3... 被称为自然数。下面的程序从用户那里获取一个正整数并计算给定数字的总和。
您也可以使用循环求自然数之和。但是,您将在此处学习使用递归解决此问题。
示例: 使用递归的自然数之和
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
要求和的数字存储在变量
number 中。
最初,从
main()
函数调用
addNumbers()
,并以 20 作为参数传递。
将
number(20) 添加到
addNumbers(19)
的结果中。
在从
addNumbers()
到
addNumbers()
的下一个函数调用中,传递了 19,将其添加到
addNumbers(18)
的结果中代码>。这个过程一直持续到
num 等于 0。
当
num 等于 0 时,没有递归调用,这会将整数的总和返回给
main()
函数。