آموزش مقدماتی جاوا | متد بازگشتی
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
متد بازگشتی، تکنیکی برای صدا زدن یک متد درون خود همان متد است. این تکنیک روشی آسان برای حل مسائل پیچیده را فراهم می کند.
مثال هایی از متد بازگشتی
جمع دو عدد با هم آسان است، اما جمع مثلاً بیش از 10 عدد دیگر مشکل ساز خواهد بود. در مثال زیر، از متد بازگشتی برای جمع محدوده ای از اعداد با یکدیگر و فقط با استفاده از یک متد کوتاه بهره برده ایم. استفاده از متد بازگشتی برای جمع اعداد 1 تا 10:
public class MyClass {
public static void main(String[] args) {
int result = sum(10);
System.out.println(result);
}
public static int sum(int k) {
if (k > 0) {
return k + sum(k - 1);
} else {
return 0;
}
}
}
وقتی تابع sum() فراخوانی می شود، مقدار پارامتر k را به جمع همه ی اعداد کوچکتر از خود اضافه می کند و نتیجه را برمیگرداند. اگر k صفر بود، صفر را برمی گرداند. وقتی برنامه اجرا می شود، خط های زیر به ترتیب اجرا می شوند:
10 + sum(9)
10 + ( 9 + sum(8) )
10 + ( 9 + ( 8 + sum(7) ) )
…
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + sum(0)
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0
از آنجایی که وقتی k صفر باشد دیگر متد خودش را برنمیگرداند، برنامه همینجا متوقف شده و نتیجه در خروجی بازگردانده می شود.
برای ثبت پرسش ابتدا در سایت وارد شوید.