使用递归查找数字的各位数字之和的 Java 程序
在本文中,我们将学习如何在 Java 中使用递归查找数字的各位数字之和。递归函数是一个反复调用自身直到满足特定条件的函数。
递归 是以自相似的方式重复项目的过程。在编程语言中,如果程序允许你在同一个函数内部调用该函数,则称为该函数的递归调用。
许多编程语言都通过堆栈来实现递归。通常,每当一个函数(调用者)调用另一个函数(被调用者)或自身作为被调用者时,调用者函数都会将执行控制权转移给被调用者。此转移过程可能还涉及将一些数据从调用者传递给被调用者。
问题陈述
编写一个 Java 程序,使用递归查找数字的各位数字之和。以下是演示 -
输入
Enter the number : 12131415
输出
The Sum of digits of 12131415 is 18
不同方法
以下是使用递归查找数字的各位数字之和的不同方法 -
使用用户定义输入查找数字的各位数字之和的步骤
以下是使用用户定义输入查找数字的各位数字之和的步骤 -
- 首先,我们将从 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 函数**,并将预定义的数字作为参数传递。
- 打印结果,显示预定义数字的各位数字之和。
示例
在这里,整数已预先定义,其值将在控制台上访问和显示 -
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
广告