Java Rekursjon Tutorial

Java Rekursjon Tutorial


I informatikk, er en rekursiv metode samtale en metode som kaller seg under prosessen med beregning. Java programmeringsspråk støtter rekursjon som en del av sin programmering syntaks. Selv om det kan være vanskelig for nybegynnere Java programmerere å forstå, skriver rekursive metoder ofte gjør matematiske begreper som skal uttrykkes tydelig i programmet. Av denne grunn er det viktig for Java-programmerere til å forstå hvordan du skal bruke rekursjon og dens begrensninger.

Bruksanvisning

1 Finn ut om beregningen prosessen som skal utføres gir seg til rekursjon eller ikke. Det er viktig at det beregningsprosessen i fremgangsmåten kan bli redusert til en gjentatt anrop til seg selv.

En av de populære rekursjonsuttrykk beregningene er prosessen med å bestemme fakultetet til et tall. En fakultetet til et tall N er resultatet av å multiplisere alle tallene fra 1 til N selv. For eksempel bruker direkte multiplikasjon:

Fakultet (3) = 3

2 1 = 6

Imidlertid er det samme resultat oppnås når det betraktes rekursivt:

Faktoriell (3) = 3 faktoriell (2) = 3 2 faktoriell (1) = 3 2 * 1 = 6

Legg merke til at hver påfølgende trinn refererer til den samme fremgangsmåten, men i enklere termer.

2 Erklærer Java metode som ville utføre rekursiv beregning. En fremgangsmåte har vanligvis minst en modifiserende middel, returtype, vil metode navn og den tilsvarende parameterlisten. Metodenavnet begynner normalt med en liten verbal ord. For eksempel definerer følgende linje en metode som kalles "fakta ()" som godtar en hel rekke verdien av n og returnerer fakultet:

int faktum (int n) {}

3 Sikre at i kroppen av rekursiv metode, blir beregningen utføres ved å foreta et anrop til seg selv. Sørg for at det er en oppsigelse tilstanden til rekursive kall i tillegg; ellers metoden vil kjøre på ubestemt tid uten å stoppe. For eksempel, beregner den følgende linje i Renton av et bestemt tall n av suksessivt kaller seg for å utføre den samme beregningen med en enklere verdi av n-1.

int faktum (int n) {

int resultat;

if (n == 1) avkastning 1;

Resultatet = faktum (n-1) * n;

returnere resultat;

}

Når n-1 er lik 1, er verdien av en returnert. Dette er den tilstand avslutning av den tilbakevendende beregning.

4 Ring rekursiv metode for å teste den. For eksempel krever følgende linje metoden "faktum ()" mens passerer den en verdi på 3 for å skrive på konsollen:

System.out.println ( "fakultet av tre er" + f.fact (3));

Sørg for at meldingen 'fakultet av tre er 6' er trykket på skjermen.