正数 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中。
最初,addNumbers()
被从main()
函数调用,并传入20作为参数。
变量number(20)被加到addNumbers(19)
的结果中。
在从addNumbers()
到addNumbers()
的下一次函数调用中,传入19,并将其加到addNumbers(18)
的结果中。这个过程一直持续到num等于0。
当num等于0时,没有递归调用,并将整数的和返回给main()
函数。