Mehmet Ethem SULAN :: Java Recursive Methods :: Recursive Olarak Faktoryel
  1: package www.ethemsulan.com;
  2: import javax.swing.JOptionPane;
  3: public class FaktoryelBul {
  4: public int fakttoryel(int n){
  5:     if(n<=0){
  6:       return 1;
  7:     }else{
  8:     return n*fakttoryel(n-1);
  9:     }
 10:   }
 11: public static void main(String[] args) {
 12:   FaktoryelBul obj=new FaktoryelBul();
 13:   int say1,sonuc;
 14:   say1=Integer.parseInt(JOptionPane.showInputDialog(
 15:       "Faktoryel icin deger gir:"));
 16:   sonuc=obj.fakttoryel(say1);
 17:   JOptionPane.showMessageDialog(null,say1+" " +
 18:   "degeri-->"+sonuc+ " mi","Girilen Sayinin Degeri", 3);
 19:   }
 20: }
Orjinal Kod:http://ethemsulan.pastebin.com/f324b9cd0
5: te eğer n değeri 0 veya daha küçükse 1 dönderir return ifadesiyle.0!=1 dir. 8: de n*faktoryel(n-1) işte fonksiyon kendi içinde kendisini çağırıyorsa buna recursive fonksiyon denir. Bu kendi içinde kendini bir daha çağırıp bir diğer değeri buluyor ve bir sonraki değeri çağırıyor taki n=0 olduğunda. n=5 ise 5*faktoryel(4)*faktoryel(3)*faktoryel(2)*faktoryel(1)*faktoryel(0) olduğunda faktoryel(0)=1 resurn ile geri döndereceği için sonucumuz 5*4*3*2*1*1 olur.14: te kullanıcıdan bir değer okuyoruz ve girilen değeri int e çevirip sayi1 atıyoruz. 16 da ise bu sayi1 değerini metoda parametre olarak atıyoruz. Metodumuzdan dönen değeri sonuc değişkenine atıyoruziyoruz. 17: de bu sonuç değerini yazdırıyoruz panele.

Write a Comment

Let me know what you think?