使用递归查找数字的各位数字之和的 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

更新于:2024年9月16日

859 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告