آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استفاده از خود متد درون بدنه متودی که در حال ساخت ان هستیم...

shayanboy22  5 سال پیش  5 سال پیش
0 0

جدیدا به متودهایی بر میخورم که درون بدنه خودشون از متدی استفاده کردن که در حال ساخت اون هستیم و هنوز تمومش نکردیم... مثلا این کد رو در نظر بگیرید:اسم  متدی که در حال ساختش هستیم recInsert هستیم... ولی داخل بدنه همین متد ما ود متد رو دوبار فراخوانی کردیم... چجوری میشه متدی که تموم نشده رو تو خود همون متد استفاده کنیم؟

 Node recInsert(Node root, int data) {
Random rn = new Random();
int rand = rn.nextInt() % 2;
if (root == null) {
root = new Node(data);
return root;
}
if (rand == 0)
root.left = recInsert(root.left, data);
else
root.right = recInsert(root.right, data);

return root;
}

+1 0
نکته اول اینه که تو جاوا وقتی برنامه ساخته میشه کل سورس کد تبدیل به یک سری کد های میانه میشه و بعد این کد ها توسط ماشین مجازی جاوا اجرا میشه. نکته دوم هم این توابع که بهشون توابع برگشتی گفته میشه باید تو یک جایی تموم بشن و اگه درست تعریف نشن میتونه باعث حلقه بدون پایان بشه و در نتیجه برنامه هنگ میکنه طریقه اجرای این توابع هم بصورت پشته هستش یعنی هر بار که این توابع صدا زده میشه نتیجه مرحله قبلش تو یک پشته ذخیره میشه و در اخر که به نتیجه رسید یکی یکی نتایج از پشته خونده و برگردونده میشه. در کل این وظیفه کامپایلر هاست که درست این مواردو تبدیل به کد میانه کنن و ما از این ویژگی ها بتونیم استفاده کنیم. (5 سال پیش)
0 0
برای درک بیشتر می تونید آموزش نوشتن کد فیبونانچی یا فاکتوریل رو نگاه کنید که خود استاد آموزشش دادن. (5 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .