I dette program lærer du at beregne effekten af et tal ved hjælp af en rekursiv funktion i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java-metoder
- Java-rekursion
Eksempel: Program til beregning af effekt ved hjælp af rekursion
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; ) )
Produktion
3 4 = 81
I ovenstående program beregner du effekten ved hjælp af en rekursiv funktionseffekt ().
Enkelt sagt multiplicerer den rekursive funktion basen med sig selv for powerRaised times, hvilket er:
3 * 3 * 3 * 3 = 81Udførelsestrin
Iteration | strøm() | powerRised | resultat |
---|---|---|---|
1 | magt (3, 4) | 4 | 3 * resultat 2 |
2 | magt (3, 3) | 3 | 3 * 3 * resultat 3 |
3 | magt (3, 2) | 2 | 3 * 3 * 3 * resultat 4 |
4 | strøm (3, 1) | 1 | 3 * 3 * 3 * 3 * resultat endelig |
Endelig | magt (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |