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?