使用遞迴計算冪的Java程式


在本文中,我們將瞭解如何使用Java中的遞迴函式計算數字的冪。我們將使用Power類和getPower方法來實現此目的。getPower方法將被設計為遞迴呼叫自身,直到冪減少到零,此時它將返回最終結果。

我們將首先提示使用者輸入底數和冪,然後我們將使用遞迴計算結果。

問題陳述

給定一個底數和一個冪值,我們需要使用遞迴計算底數的冪的結果。下面是相同的演示 -

輸入

Enter the number and its power 2 and 5

輸出

The result of 2^5 is 32

使用遞迴計算冪的不同方法

以下是使用遞迴計算冪的不同方法 -

使用使用者定義的輸入

以下是根據使用者定義的輸入使用遞迴計算冪的步驟 -

  • java.util包匯入Scanner類來處理使用者輸入。
  • 建立包含main方法Power類
  • 透過宣告變數my_inputmy_power和result來初始化變數,以儲存底數冪值結果
  • 例項化一個Scanner物件以讀取使用者的輸入。
  • 提示使用者輸入,要求使用者輸入底數和冪值。
  • 捕獲使用者輸入,使用Scanner物件的nextInt()方法捕獲使用者輸入的底數和冪值。
  • 透過呼叫getPower方法,並將底數和冪值作為引數傳遞給它來遞迴地計算結果。
  • 顯示最終結果。

示例

在這裡,輸入是根據提示由使用者輸入的。您可以在我們的程式碼執行工具執行按鈕中現場嘗試此示例。

import java.util.Scanner;
public class Power {
   public static void main(String[] args) {
      int my_power, my_input, result;
      my_input = 2;
      my_power = 5;
      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();
      System.out.print("Enter the power value : ");
      my_power = my_scanner.nextInt();
      result = getPower(my_input, my_power);
      System.out.println("The result of " +my_input + "^" + my_power + " is " + result);
   }
   public static int getPower(int my_input, int my_power) {
      if (my_power != 0) {
         return (my_input * getPower(my_input, my_power - 1));
      }
      else {
         return 1;
      }
   }
}

輸出

Required packages have been imported
A reader object has been defined
Enter the number : 2
Enter the power value : 5
The result of 2^5 is 32

使用預定義值

以下是根據使用者定義的輸入使用遞迴計算冪的步驟 -

  • 建立包含main方法Power類
  • 使用預定義的底數和冪值宣告並初始化變數my_inputmy_powerresult
  • 將預定義的底數和冪值列印到控制檯。
  • 透過使用預定義的底數和冪值作為引數呼叫getPower方法來遞迴地計算結果。
  • 顯示結果。

示例

在這裡,整數已預先定義,其值在控制檯中被訪問和顯示。

public class Power {
   public static void main(String[] args) {
      int my_power, my_input, result;
      my_input = 2;
      my_power = 5;
      System.out.println("The number and its power is defined as " +my_input + " and " +my_power);
      result = getPower(my_input, my_power);
      System.out.println("The result of " +my_input + "^" + my_power + " is " + result);
   }
   public static int getPower(int my_input, int my_power) {
      if (my_power != 0) {
         return (my_input * getPower(my_input, my_power - 1));
      }
      else {
         return 1;
      }
   }
}

輸出

The number and its power is defined as 2 and 5
The result of 2^5 is 32

更新於:2024年9月11日

1K+ 次檢視

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告