Apa Java Recursion?
Skenario ing ngendi fungsi utawa metode diarani dhewe diarani rekursi lan fungsi utawa metode kasebut dikenal minangka fungsi rekursif utawa metode rekursif. Pendekatan iki tansah digunakake kanggo mecah masalah rumit dadi prasaja lan luwih gampang kanggo nulis. Conto sing prasaja yaiku nyelehake rong pangilon ing ngarepe lan bakal wiwit nggambarake saben liyane kanthi rekursif sing bisa dideleng kanthi gampang.Rekursi Ora Langsung
Conto ing ndhuwur nggambarake rekursi ora langsung , yaiku, fungsi siji nelpon fungsi loro lan fungsi loro nelpon fungsi siji.Rekursi Langsung
Nalika cara nelpon maneh lan maneh, diarani rekursi langsung .Kondisi Terhenti
Saiki sampeyan bakal mikir yen cara nelpon maneh lan maneh manawa bakal ngadhepi kesalahan Stack Overflow . Ya, sampeyan bener, kaya loop tanpa wates, bisa dadi rekursi tanpa wates. Kita kudu nyedhiyani kondisi dhasar utawa kondisi mandap kanggo mungkasi rekursi tanpa wates iki, sing dikenal minangka kondisi mandheg, lan kondisi iki tansah kasedhiya ing cara recurse, kang bakal kita waca ing rinci ing conto ing ngisor iki.Tuladha Rekursi
class Recursion {
static int factorial( int n ) {
// base condition or termination condition
if (n != 0)
// here we are calling the recursive method
return n * factorial(n-1);
else
return 1;
}
public static void main(String[] args) {
// initializing the variables
int number = 5, result;
result = factorial(number);
System.out.println(number + " factorial = " + result);
// changing the value from 5 to 10
number = 10;
result = factorial(number); // recursive function call
System.out.println(number + " factorial = " + result);
}
}
Tuladha Output
5 faktorial = 120 10 faktorial = 3628800
Ing conto metode recurse iki kita duwe faktorial fungsi sing diarani saka metode utama. Kita ngliwati nilai 5 kanggo ndeleng apa faktorial kasebut, yaiku 120. Fungsi faktorial iki nelpon maneh kanthi ngliwati nilai 4, sing maneh nelpon lan ngliwati nilai 3, lan sateruse, nganti kondisi mandheg. ketemu, yaiku nilai 0. Mengkono uga nalika kita ngganti nilai saka 5 dadi 10.
GO TO FULL VERSION