正数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作为参数。
数字 (20)被添加到addNumbers(19)
的结果中。
在下一个从addNumbers()
到addNumbers()
函数调用中,将传递19并将其添加到addNumbers(18)
的结果中。此过程一直持续到num等于0。
当num等于0时,不进行递归调用,这会将整数之和返回给main()
函数。