04-09-2017, 09:39 PM
Recursion,bir metodun belli bir şart sağlanana kadar kendini sürekli olarak çağırmasıdır.Faktöriyel örneği vererek bu konuyu pekiştirelim;
Kod:
Eğer sayımız 1 ise return ifadesi ile 1 değerini döndürecektir; değil ise sayımızı 1'e azaltana kadar çarpacaktır(yani 5*4*3*2*1).Bu örneği normal bir döngü ile yapacak olursak;
Kod:
Burada da normal yöntemlerle işlemlerimiz yaptık.
Kod:
Kod:
public class recursionfaktöriyel {
public static void main(String[] args) {
System.out.println("Sayının Faktöriyeli : " + faktöriyel(5));
}
static int faktöriyel(int sayi)
{
if(sayi == 1)
{
return 1;
}
else
{
return (sayi * (faktöriyel(sayi - 1))); //kendini sürekli çağır.
}
}
}
Eğer sayımız 1 ise return ifadesi ile 1 değerini döndürecektir; değil ise sayımızı 1'e azaltana kadar çarpacaktır(yani 5*4*3*2*1).Bu örneği normal bir döngü ile yapacak olursak;
Kod:
Kod:
public class faktöriyelalma {
public static void main(String[] args) {
System.out.println(faktöriyel(5));
}
static int faktöriyel(int x)
{
int deger = 1;
for(int i = x; i > 0; i--)
{
deger *= i;
}
return deger;
}
}
Burada da normal yöntemlerle işlemlerimiz yaptık.