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中。

最初,addNumbers()被从main()函数调用,并传入20作为参数。

变量number(20)被加到addNumbers(19)的结果中。

在从addNumbers()addNumbers()的下一次函数调用中,传入19,并将其加到addNumbers(18)的结果中。这个过程一直持续到num等于0。

num等于0时,没有递归调用,并将整数的和返回给main()函数。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战