English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы узнаете, как использовать рекурсивные функции в Java для вычисления степени числа.
public class Power { public static void main(String[] args) { int base = 3, powerRaised = 4; int result = power(base, powerRaised); System.out.printf("%d^%d = %d", base, powerRaised, result); } public static int power(int base, int powerRaised) { if (powerRaised != 0) return (base * power(base, powerRaised - 1)); else return 1; } }
При выполнении этой программы выводится:
3^4 = 81
В上面的 программе вы используете рекурсивную функцию power() для вычисления степеней.
Проще говоря, рекурсивная функция умножает основание на себя, чтобы получить количество的提升次数, то есть:
3 * 3 * 3 * 3 = 81
Итерация | power() | powerRaised | результат |
---|---|---|---|
1 | power(3, 4) | 4 | 3 * результат2 |
2 | power(3, 3) | 3 | 3 * 3 * результат3 |
3 | power(3, 2) | 2 | 3 * 3 * 3 * результат4 |
4 | power(3, 1) | 1 | 3 * 3 * 3 * 3 * результатfinal |
Константа | power(3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |