使用递归查找数字的各位数字之和的 Java 程序


在本文中,我们将学习如何在 Java 中使用递归查找数字的各位数字之和。递归函数是一个反复调用自身直到满足特定条件的函数。

递归 是以自相似的方式重复项目的过程。在编程语言中,如果程序允许你在同一个函数内部调用该函数,则称为该函数的递归调用。

许多编程语言都通过堆栈来实现递归。通常,每当一个函数(调用者)调用另一个函数(被调用者)或自身作为被调用者时,调用者函数都会将执行控制权转移给被调用者。此转移过程可能还涉及将一些数据从调用者传递给被调用者。

问题陈述

编写一个 Java 程序,使用递归查找数字的各位数字之和。以下是演示 -

输入

Enter the number : 12131415

输出

The Sum of digits of 12131415 is 18

不同方法

以下是使用递归查找数字的各位数字之和的不同方法 -

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

使用用户定义输入查找数字的各位数字之和的步骤

以下是使用用户定义输入查找数字的各位数字之和的步骤 -

  • 首先,我们将从 java.util 包 中导入 Scanner 类
  • 之后,我们将初始化一个 **Scanner 对象** 来读取用户的输入。
  • 显示一条消息,要求用户输入一个数字。
  • 使用 Scanner 对象的 nextInt() 方法 获取用户输入。
  • 调用 **digitSum 函数**,并将用户输入作为参数传递。
  • 打印结果,显示输入数字的 **各位数字之和**。

示例

在这里,用户根据提示输入输入 -

import java.util.Scanner; public class Sum{ public static void main(String args[]){ int my_input, my_result; System.out.println("Required packages have been imported"); Scanner my_scanner = new Scanner(System.in); System.out.println("A reader object has been defined "); System.out.print("Enter the number : "); my_input = my_scanner.nextInt(); my_result = digitSum(my_input); System.out.println("The Sum of digits of " + my_input + " is " + my_result); } static int digitSum(int n){ if (n == 0) return 0; return (n % 10 + digitSum(n / 10)); } }

输出

Required packages have been imported
A reader object has been defined
Enter the number : 12131415
The Sum of digits of 12131415 is 18

使用预定义输入查找数字的各位数字之和的步骤

以下是使用预定义输入查找数字的各位数字之和的步骤 -

  • 声明并初始化一个带有 **预定义值** (例如,12131415)的整数变量。
  • 将预定义的数字打印到控制台。
  • 调用 **digitSum 函数**,并将预定义的数字作为参数传递。
  • 打印结果,显示预定义数字的各位数字之和。

示例

在这里,整数已预先定义,其值将在控制台上访问和显示 -

Open Compiler
public class Sum{ public static void main(String args[]){ int my_input = 12131415; System.out.println("The number is defined as : " +my_input); int my_result = digitSum(my_input); System.out.println("The Sum of digits of " + my_input + " is " + my_result); } static int digitSum(int n){ if (n == 0) return 0; return (n % 10 + digitSum(n / 10)); } }

输出

The number is defined as : 12131415
The Sum of digits of 12131415 is 18

更新于:2024年9月16日

859 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告