خانه / برنامه نویسی / آموزش برنام نویسی جاوا / آموزش تشخیص سال کبیسه شمسی در زبان جاوا -آموزش برنامه نویسی جاوا

آموزش تشخیص سال کبیسه شمسی در زبان جاوا -آموزش برنامه نویسی جاوا

آموزش تشخیص سال کبیسه شمسی در زبان جاوا -آموزش برنامه نویسی جاوا

در دومین آموزش برنامه نویسی جاوا قصد دارم که شما را با نحوه ی تشخیص سال کبیسه در تقویم هجری شمسی آشنا کنم . در قسمت قبل آموزش تشخیص سال کبیسه در تقویم میلادی را آموزش دادم که در برنامه تبدیل سال میلادی به شمسی کاربرد داشت ولی این برنامه در تبدیل سال شمسی به میلادی کاربرد دارد . با ما همراه باشید .

قبل از شروع آموزش قصد دارم که یه پیش زمینه ای در رابطه با کارمان به شما بدهم .

همان طور که می دانیم سال کبیسه در تقویم شمسی هر ۴ سال یک بار اتفاق می افتد و اسفند ماه سال کبیسه ۳۰ روزه می باشد ولی شاید این را ندانید که در یک دوره ی خاص زمانی سال کبیسه به جای ۴ سال ، ۵ سال یک بار اتفاق می افند به مثال زیر توجه کنید ، سال های کبیسه را نمایش می دهد .

۱۳۰۵   ،  ۱۳۰۹   ،  ۱۳۱۳   ،  ۱۳۱۷   ،  ۱۳۲۱   ،  ۱۳۲۵   ،  ۱۳۲۹   ،  ۱۳۳۳   ،  ۱۳۳۷

             ۱۳۴۲   ،  ۱۳۴۶   ،  ۱۳۵۰   ،  ۱۳۵۴   ،  ۱۳۵۸   ،  ۱۳۶۲   ،  ۱۳۶۶   ،  ۱۳۷۰

             ۱۳۷۵   ،  ۱۳۷۹   ،  ۱۳۸۳   ،  ۱۳۸۷   ،  ۱۳۹۱   ،  ۱۳۹۵   ،  ۱۳۹۹   ،  ۱۴۰۳

همان طور که در مثال بالا می بینید تقریباً هر ۴ سال یک بار  کبیسه  رخ می دهد ولی بعد در هر ۸ دوره ( یعنی ۳۳ سال یک بار ) ، کبیسه هر ۵ سال یک بار اتفاق می افتد .

الگوریتم تشخیص سال کبیسه

از سال ۱۳۰۹ شروع می کنیم ۴ سال ۴سال اضافه می کنیم و بعد از هر ۸ دوره ۵ سال اضافه می کنیم . این کار تا آنجا ادامه می دهیم که عددمان از از عدد سال ورودی کوچکتر مساوی باشد . در آخر اگر عدد به دست آمده ی ما با سال ورودی یکسان بود ، ان سال کبیسه است در غیر اینصورت کبیسه نمی باشد . تمام

 

سورس تشخیص سال کبیسه شمسی به زبان جاوا

در پایان امیدوارم که این آموزش مورد پسند شما واقع شده باشد .

درباره ی کریم رضائی

برنامه نویس جاوا و متخصص در ساخت برنامه های اندرویدی علاقه مند به سیستم عامل لینوکس

مطلب پیشنهادی

آموزش تبدیل تاریخ میلادی به شمسی- آموزش برنامه نویسی جاوا

آموزش تبدیل تاریخ میلادی به شمسی- آموزش برنامه نویسی جاوا امروز قصد دارم آموزش تبدیل ...

یک دیدگاه

  1. تابع خوبیه و دقیق هست. اما بنظرتون برای محاسبه هر بال سال کبیسه این همه محاسبات و حلقه لازمه؟
    مثلا ما میخوایم یک لیست بلند بالایی از محصولات و تاریخ ورود به انبار و فروش رو به شمسی نشون بدیم. پس این تابع برای هر محصول باید ۲ بار فراخوانی بشه. و اگه تعداد محصول زیاد باشه این محاسبات بطور تساعدی بالا میره.
    به نظرم بهتره این کد رو یکم بهینه ترش کنیم. چک کردن چند تا شرط خیلی سرعتش بالاتر از یه حلقه با این رنج هست.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Enter Captcha Here : *

Reload Image