使用递归计算幂的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_input、my_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_input、my_power和result。
- 将预定义的底数和幂值打印到控制台。
- 通过使用预定义的底数和幂值作为参数调用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
广告