Sarı bölgelere aldığım kodlar çalışıyor. Aslında bütün kodlar çalışıyor ama 18-19. satırlara girdiğim kodlar işe yaramıyor. Uygulama 0 ve her pozitif sayının faktöriyelini doğru hesaplıyor ama negatif sayı koyduğumda sonuç hep 1 çıkıyor.
Sonucun 1 çıkmasını yasaklayabilirdim ama bu sefer de 0 ve 1 faktöriyel hesaplanırken sıkıntıya düşüyor.
18-19. satırlardaki kodun nasıl çalışmasını sağlayabilirim?
Girdiyi 0'dan küçük seçsem bile o kısım çalışmıyor.
En iyisi önce algoritmasını kafanızda bir daha düşünün, sonra bu algoritmayı bilgisayara nasıl anlatabilirsiniz diye satır satır baştan yazın kodunuzu.
1)
Birisi size geldi, -2nin faktoriyelini bana hesapla diyor:
Düşünürsünüz, faktoriyel fonksiyonu negatif olmayan sayılar için tanımlıdır, -2 ne, negatif bir sayı.
Karşınızdaki adama "negatif sayıların faktoriyeli yoktur" diye cevap verirsiniz.
2)
Bir dahaki sefer 3ün faktoriyelini hesapla diyor:
Düşünürsünüz, faktoriyel fonksiyonu negatif olmayan sayılar için tanımlıdır, 3 ne, bu kurala uyan bir sayı.
Bu sefer hesaplama yaparsınız, 3*2*1 = 6
Karşınıdaki adama "6" diye cevap verirsiniz.
Sizin kod şu anda böyle çalışmıyor, kullandığınız idenin debug özelliğini kullanın lütfen satır satır.
System.exit() komutunu daha öğrenmedim hocam. Dediginiz gibi yapınca 1 çıktısı göstermeden sadece negatif sayıların faktöriyeli yoktur yazısı çıktı.
return; ile aynı işe yarıyor sanırım bu.