Video: Java Recursion 2024
Recursie is een standaard programmeertechniek die u in Java kunt gebruiken, waarbij een methode zichzelf oproept om een probleem op te lossen. Een methode die deze techniek gebruikt is recursief . Veel programmeerproblemen kunnen alleen door recursie worden opgelost en sommige problemen die met andere technieken kunnen worden opgelost, kunnen beter worden opgelost door recursie.
Een van de klassieke problemen bij het introduceren van recursie is het berekenen van de faculteit van een geheel getal. De faculteit van elk gegeven geheel getal - noem het n zodat u wiskundig klinkt - is het product van alle gehele getallen van 1 tot n . Zo is de faculteit van 5 120: 5 x 4 x 3 x 2 x 1
De recursieve manier om naar het factoriële probleem te kijken is om te beseffen dat de faculteit voor elk gegeven getal n gelijk is aan n maal de faculteit van < n -1, op voorwaarde dat n groter is dan 1. Als n 1 is, is de faculteit van n 1. Deze definitie van faculteit is recursief omdat de definitie de faculteit zelf bevat. Het bevat ook het belangrijkste deel van elke recursieve methode: een eindvoorwaarde. De eindvoorwaarde geeft aan wanneer de recursieve methode zichzelf moet stoppen. In dit geval, wanneer
n 1 is, retourneert het gewoon 1. Zonder een eindvoorwaarde blijft de recursieve methode zichzelf eeuwig noemen.
private static long factorial (int n) {if (n == 1) return 1; else return n * faculteit (n-1);}