示例: 使用递归计算功率的程序
class Power { public static void main(String[] args) { int base = 3, powerRaised = 4; int result = power(base, powerRaised); System.out.println(base + "^" + powerRaised + "=" + result); } public static int power(int base, int powerRaised) { if (powerRaised != 0) { // recursive call to power() return (base * power(base, powerRaised-1)); } else { return 1; } } }
输出
3^4 = 81
在上面的程序中,您使用递归函数 power() 计算功率。
简单来说,递归函数将基数与自身相乘得到 powerRaised 次,即:
3 * 3 * 3 * 3 = 81
power() | powerRaised | result |
power(3, 4) | 4 | 3 * result2 |
power(3, 3) | 3 | 3 * 3 * result3 |
power(3, 2) | 2 | 3 * 3 * 3 * result4 |
power(3, 1) | 1 | 3 * 3 * 3 * 3 * resultfinal |
power(3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |