Java 程序:使用递归找出自然数之和
要理解这个示例,你应该具备以下 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()
函数。