使用遞迴查詢數字的各位數字之和的 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 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告