使用递归计算幂的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+ 次查看

开启您的职业生涯

通过完成课程获得认证

开始学习
广告