تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1 • شاطر
تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays
السؤال التالى :
هذا البرنامج يتطلب الاتى :
1_انشاء فئة باسم MonthDays
2_مشيد هذه الفئة يجب أن يقبل فى معلماته رقيمن الاول يمثل الاشهر و الثاني يمثل السنة
3_انشاء طريقة باسم getNumberOfDays لايجاد عد الايام للشهر المحدد و السنة المحددة فاذا كانت السنة كبيرة يكون فيها شهر 2 به 29 يوم وإلا 28 يوم
4_استخدام الكائن Scanner لاستقبال مدخلات المستخدم
وحتى نفهم حل السؤال تعالوا نتعرف على السنة الكبسية .
السنة الكبيسة عدد أيامها 366 يوما بزيادة يوم عن السنة العادية وهذا اليوم المضاف هو يوم 29 فبراير فكل أربع سنوات هناك يوم 29 فبراير واحد فقط ..والسبب يرجع فى ذلك أن الأرض تستغرق في دورتها حول الشمس 365 يوما وربع اليوم فقد تقرر جمع هذه الأرباع وإضافتها في السنة الرابعة لكي يتناسب التقويم مع الدورة الفلكية.
ويتم حسابها رياضية أن السنوات ذات الرقم الذي يقبل القسمة على 4 ولكن لا يقبل القسمة على 400
اذن كل سنة تقبل القسمة على 4 كبيسة كسنة 4 و8 و12 ولكن كل 100 عام نتخطى سنة (مثل سنة 100 و 200 و300 و500) إلا إذا كانت تقبل القسمة على 400 (كعام 400 و 800) فهي كبيسة.
ويتم حساب ذلك برمجيا على النحو التالى :
إذا كانت (السنة قابلة للقسمة على 4) فإن (سنة كبسية)
آخر إذا (السنة قابلة للقسمة على 400) (إنها سنة كبيسة)
آخر إذا (السنة غير قابلة للقسمة على 100)( سنة كبيسة)
غير ذلك (سنة عادية)
وحل السؤال بالكامل على النحو التالى :
المخرجات :
Write a class named MonthDays. The class’s constructor should accept two arguments:
l An integer for the month (1 = January, 2 February, etc).
l An integer for the year
The class should have a method named getNumberOfDays that returns the number of days
in the specified month. The method should use the following criteria to identify leap years:
1. Determine whether the year is divisible by 100. If it is, then it is a leap year if and
if only it is divisible by 400. For example, 2000 is a leap year but 2100 is not.
2. If the year is not divisible by 100, then it is a leap year if and if only it is divisible
by 4. For example, 2008 is a leap year but 2009 is not.
Demonstrate the class in a program that asks the user to enter the month (letting the user
enter an integer in the range of 1 through 12) and the year. The program should then display
the number of days in that month. Here is a sample run of the program:
Enter a month (1-12): 2 [Enter]
Enter a year: 2008 [Enter]
29 days
l An integer for the month (1 = January, 2 February, etc).
l An integer for the year
The class should have a method named getNumberOfDays that returns the number of days
in the specified month. The method should use the following criteria to identify leap years:
1. Determine whether the year is divisible by 100. If it is, then it is a leap year if and
if only it is divisible by 400. For example, 2000 is a leap year but 2100 is not.
2. If the year is not divisible by 100, then it is a leap year if and if only it is divisible
by 4. For example, 2008 is a leap year but 2009 is not.
Demonstrate the class in a program that asks the user to enter the month (letting the user
enter an integer in the range of 1 through 12) and the year. The program should then display
the number of days in that month. Here is a sample run of the program:
Enter a month (1-12): 2 [Enter]
Enter a year: 2008 [Enter]
29 days
هذا البرنامج يتطلب الاتى :
1_انشاء فئة باسم MonthDays
2_مشيد هذه الفئة يجب أن يقبل فى معلماته رقيمن الاول يمثل الاشهر و الثاني يمثل السنة
3_انشاء طريقة باسم getNumberOfDays لايجاد عد الايام للشهر المحدد و السنة المحددة فاذا كانت السنة كبيرة يكون فيها شهر 2 به 29 يوم وإلا 28 يوم
4_استخدام الكائن Scanner لاستقبال مدخلات المستخدم
وحتى نفهم حل السؤال تعالوا نتعرف على السنة الكبسية .
السنة الكبيسة عدد أيامها 366 يوما بزيادة يوم عن السنة العادية وهذا اليوم المضاف هو يوم 29 فبراير فكل أربع سنوات هناك يوم 29 فبراير واحد فقط ..والسبب يرجع فى ذلك أن الأرض تستغرق في دورتها حول الشمس 365 يوما وربع اليوم فقد تقرر جمع هذه الأرباع وإضافتها في السنة الرابعة لكي يتناسب التقويم مع الدورة الفلكية.
ويتم حسابها رياضية أن السنوات ذات الرقم الذي يقبل القسمة على 4 ولكن لا يقبل القسمة على 400
اذن كل سنة تقبل القسمة على 4 كبيسة كسنة 4 و8 و12 ولكن كل 100 عام نتخطى سنة (مثل سنة 100 و 200 و300 و500) إلا إذا كانت تقبل القسمة على 400 (كعام 400 و 800) فهي كبيسة.
ويتم حساب ذلك برمجيا على النحو التالى :
إذا كانت (السنة قابلة للقسمة على 4) فإن (سنة كبسية)
آخر إذا (السنة قابلة للقسمة على 400) (إنها سنة كبيسة)
آخر إذا (السنة غير قابلة للقسمة على 100)( سنة كبيسة)
غير ذلك (سنة عادية)
- الكود:
if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
System.out.println("February " + year + " had 29 days");
else
System.out.println("February " + year + " had 28 days");
وحل السؤال بالكامل على النحو التالى :
- الكود:
import java.util.Scanner;
public class MonthDays {
private static int month, year;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the month between [1:12]: ");
int M = input.nextInt();
System.out.print("Enter the year as integer: ");
int Y = input.nextInt();
MonthDays D = new MonthDays(M,Y);
D.getNumberOfDays();
}
public MonthDays(int m , int y){
month=m;
year=y;
}
void getNumberOfDays(){
switch (month)
{
case 1: System.out.println(
"January " + year + " had 31 days"); break;
case 2:
if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
System.out.println("February " + year + " had 29 days");
else
System.out.println("February " + year + " had 28 days");
break;
case 3: System.out.println(
"March " + year + " had 31 days"); break;
case 4: System.out.println(
"April " + year + " had 30 days"); break;
case 5: System.out.println(
"May " + year + " had 31 days"); break;
case 6: System.out.println(
"June " + year + " had 30 days"); break;
case 7: System.out.println(
"July " + year + " had 31 days"); break;
case 8: System.out.println(
"August " + year + " had 31 days"); break;
case 9: System.out.println(
"September " + year + " had 30 days"); break;
case 10: System.out.println(
"October " + year + " had 31 days"); break;
case 11: System.out.println(
"November " + year + " had 30 days"); break;
case 12: System.out.println(
"December " + year + " had 31 days");
}
// return 0;
}
}
المخرجات :
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
NEXT- الادارة
- تاريخ التسجيل : 18/02/2011
المساهمات : 446
النقاط : 200660
التقيم : 28
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft