منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays

اذهب الى الأسفل

تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays Empty تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays

مُساهمة من طرف أحمد مناع الخميس أبريل 30, 2020 12:42 pm

السؤال التالى :

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


هذا البرنامج يتطلب الاتى :

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 Untitl23

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays Empty رد: تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays

مُساهمة من طرف NEXT السبت مايو 02, 2020 11:54 am

تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays 1f600  تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays 1f600  تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays 1f600  تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays 1f600

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
تمارين بلغة الجافا ...اكتب برنامج لايجاد عدد الايام لشهر ما اذا كانت السنة كبسية أم لا Write a class named MonthDays Do.php?imgf=154090993464951
NEXT
NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 446
النقاط : 200660
التقيم : 28
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى