اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

السلام عليكم 

في البداية يجب عليك ان  ان تطلب من المستخدم  ان يدخل تاريخ الميلاد 

 ثم تقوم بطرح التاريخ السنة الدخل  من السنة الحالية  الناتج  بيطلع معاك عمر الشخص بسنين 

تريد حسب العمر بلأشهر  ثم تضرب الناتج  ب 12 الناتتج سيكون العمر بلأاشهر  

تريد حسب العمر الاسبيع تضرب الناتج  ب 4 الناتتج سيكون العمر بلأسبيع  

تريد حسب العمر بالايام  ثم تضرب الناتج  ب 7 الناتتج سيكون العمر بالايام 

 هل تريد تفاصيل برمجية 

 

  • 2
نشر (معدل)
import java.util.Scanner;


public class JavaApplication16 {
    
    static void Age(int current_date, int current_month,
                    int current_year, int birth_date,
                    int birth_month, int birth_year)
    {
        int month[] = { 31, 28, 31, 30, 31, 30, 31,
                             31, 30, 31, 30, 31 };
 

        if (birth_date > current_date) {
            current_month = current_month - 1;
            current_date = current_date + month[birth_month - 1];
        }
        if (birth_month > current_month) {
            current_year = current_year - 1;
            current_month = current_month + 12;
        }
 
        int calculated_date = current_date - birth_date;
        int calculated_month = current_month - birth_month;
        int calculated_year = current_year - birth_year;
 

        System.out.println("Present Age");
        System.out.println("Years: " + calculated_year +
              " Months: " + calculated_month + " Days: " +
              calculated_date);
    }

    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);  
        
        // إدخال التاريخ الحالي
        
        int current_date = sc.nextInt();
        int current_month = sc.nextInt();
        int current_year = sc.nextInt();
 
        //إدخال تاريخ الميلاد
        int birth_date = sc.nextInt();;
        int birth_month = sc.nextInt();;
        int birth_year = sc.nextInt();;
 
        // استدعاء التابع الذي قمنا بتعريفه لكي يطبع لنا العمر
        Age(current_date, current_month, current_year,
              birth_date, birth_month, birth_year);
        
        
    }
 
}

 

 

 

تم التعديل في بواسطة Ali Haidar Ahmad
حدث خطأ بسيط
  • 1
نشر
بتاريخ منذ ساعة مضت قال Suhaib Hassan:

السلام عليكم 

في البداية يجب عليك ان  ان تطلب من المستخدم  ان يدخل تاريخ الميلاد 

 ثم تقوم بطرح التاريخ السنة الدخل  من السنة الحالية  الناتج  بيطلع معاك عمر الشخص بسنين 

تريد حسب العمر بلأشهر  ثم تضرب الناتج  ب 12 الناتتج سيكون العمر بلأاشهر  

تريد حسب العمر الاسبيع تضرب الناتج  ب 4 الناتتج سيكون العمر بلأسبيع  

تريد حسب العمر بالايام  ثم تضرب الناتج  ب 7 الناتتج سيكون العمر بالايام 

 هل تريد تفاصيل برمجية 

 

نعم من فضلك اريد تفاصيل برمجية اكتر

بتاريخ 45 دقائق مضت قال Ali Haidar Ahmad:

import java.util.Scanner;


public class JavaApplication16 {
    
    static void Age(int current_date, int current_month,
                    int current_year, int birth_date,
                    int birth_month, int birth_year)
    {
        int month[] = { 31, 28, 31, 30, 31, 30, 31,
                             31, 30, 31, 30, 31 };
 

        if (birth_date > current_date) {
            current_month = current_month - 1;
            current_date = current_date + month[birth_month - 1];
        }
        if (birth_month > current_month) {
            current_year = current_year - 1;
            current_month = current_month + 12;
        }
 
        int calculated_date = current_date - birth_date;
        int calculated_month = current_month - birth_month;
        int calculated_year = current_year - birth_year;
 

        System.out.println("Present Age");
        System.out.println("Years: " + calculated_year +
              " Months: " + calculated_month + " Days: " +
              calculated_date);
    }

    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);  
        
        // إدخال التاريخ الحالي
        
        int current_date = sc.nextInt();
        int current_month = sc.nextInt();
        int current_year = sc.nextInt();
 
        //إدخال تاريخ الميلاد
        int birth_date = sc.nextInt();;
        int birth_month = sc.nextInt();;
        int birth_year = sc.nextInt();;
 
        // استدعاء التابع الذي قمنا بتعريفه لكي يطبع لنا العمر
        Age(current_date, current_month, current_year,
              birth_date, birth_month, birth_year);
        
        
    }
 
}

 

 

 

ممكن شرح مبسط للبرنامج 

  • 0
نشر

شرح للكود   بعد إذن  Ali Haidar Ahmad

في البداية نحن داخل كلاس اسمة JavaApplication16 

يوجد فية ميثود اسمها Age يتاخد اكتر من مدخل   (  اليوم الاحالي و الشهر الحالي و السنة الحالية   و  يوم الميلاد شهر الميلاد وسنة الميلاد)

 int month[] = { 31, 28, 31, 30, 31, 30, 31,
                             31, 30, 31, 30, 31 }

هذه المصفوفة هي  عدد الاشهر وكل شهر كم يوم فية

if (birth_date > current_date) {
            current_month = current_month - 1;
            current_date = current_date + month[birth_month - 1];
        }

هذا الشرط بيفحص اذا  كان  يوم الميلاد أكبر من اليوم الحالي (يوم في المستقبل )   يخلي  رقم الشهر - واحد 

وايضا    يعطي قية  current data بيعطي نفس القيمة الدخلة 

 

if (birth_month > current_month) {
            current_year = current_year - 1;
            current_month = current_month + 12;
        }

اما في هذا الشرط فيقوم بفحص الاشهر الدخلة  فيقوم بفحص الاشهر 

اذا كان الشهر المخل أقل من شهر الميلاد مثال شهر ميلادي 7 ونحن في شهر 5  اذا  لم أبغل عام كامل بعد لهذا يقوم بطرح  واحد من السنة   

ونفس الفكرة في الشرط في الاعلى 

int calculated_date = current_date - birth_date;
        int calculated_month = current_month - birth_month;
        int calculated_year = current_year - birth_year;

هنا يقوم بطرح القيم مب بعض يحصل على الناج النهائي  للعمر 

 

public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);  
        
        // إدخال التاريخ الحالي
        
        int current_date = sc.nextInt();
        int current_month = sc.nextInt();
        int current_year = sc.nextInt();
 
        //إدخال تاريخ الميلاد
        int birth_date = sc.nextInt();;
        int birth_month = sc.nextInt();;
        int birth_year = sc.nextInt();;

 الان نحن داخل المكان الذي سيتم تنفيذ فية  

نطلب من المستخدم إدخل تريخ اليوم وتاريخ ميلاده 

Age(current_date, current_month, current_year,
              birth_date, birth_month, birth_year)

هنا نقوم بستدعاء الدالة التي كنت اشرح عنها قبل قليل في الاعلى 

وهذا كل شي  اتمنى  ان تكون الامو واضحه 

حياتي 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...