instagram twitter linkedin github youtube

10.4.19

java özyineleme

Özniyeli(recursive) metotlar adından da anlaşılacağı üzere kendi kendini yenileyen metotlardır.Bu metodları  döngü ile çözemediğimiz problerde kullanırız.

Örnek 1-

Aşağıda Döngü ile çözülmiş bir kod bulunmaktadır.


Döngü ile bu şekilde çözülebilir.Biz aynı problemi recursive metot kullanarak çözmeye çalışalım.

toplam metotdunda girilen sayinın 1 ‘den küçük olma durumu karşılaştırılıyor ve küçükse kendisi döndürülüyor.
else de ise girilensayi ile bir eksiği olan sayinyı tekrar metotda sokup topluyor.Bunu resimle şöyle anlatalım.

Örnek 2-

Şimdi ise kodu biraz değiştirelim ve bu sefer girilen sayiya kadar olan sayiların karelerini hesaplayan kodu yazmaya çalışalım.İlk olarak dögüleri kullanarak yazalım.

Görüldüğü gibi çok bir fark yok sadece bu sefer for ile her i sayisını karseni alıp c değişkeni ile topluyor.
Şimdi ise recursive metot kullanarak yapalım


Burada yine ilk yaptığımız koddan çok bir fark yok.Yine aynı şekilde kareseni alıp bir eksiğini metota gönderip topluyor.