In dit programma leer je de kracht van een getal te berekenen met behulp van een recursieve functie in Java.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-methoden
- Java-recursie
Voorbeeld: programma om vermogen te berekenen met behulp van recursie
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; ) )
Uitvoer
3 4 = 81
In het bovenstaande programma bereken je het vermogen met behulp van een recursieve functie power ().
In eenvoudige bewoordingen vermenigvuldigt de recursieve functie de basis met zichzelf voor powerRaised-tijden, namelijk:
3 * 3 * 3 * 3 = 81Uitvoeringsstappen
Iteratie | vermogen () | powerRaised | resultaat |
---|---|---|---|
1 | vermogen (3, 4) | 4 | 3 * resultaat 2 |
2 | vermogen (3, 3) | 3 | 3 * 3 * resultaat 3 |
3 | vermogen (3, 2) | 2 | 3 * 3 * 3 * resultaat 4 |
4 | vermogen (3, 1) | 1 | 3 * 3 * 3 * 3 * resultaat definitief |
Laatste | vermogen (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |