在此程序中,您将学习使用Java递归来查找自然数之和。这是在递归函数的帮助下完成的。
正数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()函数。