طلبتكم ساعدوني

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

طلبتكم ساعدوني

مُساهمة من طرف حياة الشقا في السبت مارس 23, 2013 5:06 pm

اتمنى تشرحون لي هذا البرنامج بالتفصيل Crying or Very sad

ولكم شكري الجزيل Embarassed

[img][/img]




[img][/img]


avatar
حياة الشقا
..
..

تاريخ التسجيل : 26/11/2012
المساهمات : 17
النقاط : 30
التقيم : 1
الدولة : السعودية
الجنس : انثى

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

رد: طلبتكم ساعدوني

مُساهمة من طرف NEXT في السبت مارس 23, 2013 8:40 pm


بسم الله الرحمن الرحيم

أهلا وسهلا أختى الكريمة و مرحبا بك فى منتدى مصر التقنى ....أما بالنسبة لبرنامجك فهو عبارة عن برنامج لتمثيل حساب مصرفى مكون من 3 فئات أو كلاس الاتى
1_الفئة الاولى insufficientfundsException
وهى فئة لمعالجة الاستئثناءات الناتجة و التى تسمى User Defined Exception بالاضافة الى منشىء القيم الاولية

2_ الفئة الثانية checkingAccount و التى بها الطرق الازمة لحساب قيمة الايداع و قيمة السحب بعد التحقق من الرصيد و الاستعلام عن الرصيد
3 الفئة الثلاثة BankDemo وهى الفئة الرئسية و التى تظهر مخرجات البرنامج


أما بالنسبة شرح الكود فهو على النحو التالى :

وكما هو ظاهر فى برنامجك .....السطر الثانى قام بانشاء الفئة insufficientfundsException .......المبدأ العام لانشاء User Defined Exception هو على النحو التالى :

البدء بالكلمة المحجوزة class ثم بعد ذلك اسم الكلاس ثم extends Exception
السطر الثالث ....الاعلان عن المتغير amount على انه من نوع double
السطر الرابع .....قام بإنشاء Constructors او المنشىء و الهدف منه هو إعطاء قيم اولية للمتغيرات عند انشائة اول مرة ....ويجب ملاحظة ان اسم المنشىء تأخذ نفس اسم الكلاس الموجودة فية وهو فى مثالنا هذا insufficientfundsException
السطر السادس ....قام بانشاء الطريقة getamoun و ذلك لارجاع القيمة المخزنة فى المتغير amount
السطر الثامن ....بداية انشاء الفئة checkingAccount ...ومن المعلوم لانشاء اى فئة هو استخدام الكلمة المحجوزة class ثم اسم الفئة و إن يوجد بها عوامل يت فتح قوسين و الاعلان عن العوامل بداخله
السطر التاسع و العاشر ...قام بالاعلان عن المتغيرين balance , number
السطر الحادى عشر .....انشاء طريقة لحساب قيمة الايداع deposit و التى استخدام الكلمة المحجوزة void وذلك لكون الطريقة لا تعود باى بيانات
السطر الثانى عشر .....balance += number و التى معنها ان الرصيد balance يساوى قيمة هذا الرصيد بالاضافة الى ما يتم تخزينة فى المتغير number
السطر الثالث عشر ....إنشاء طريقة لحساب قيمة السحب withdraw و يلاحظ أنه هنا أستخدم الكلاس
insufficientfundsException
الذى تم تعريفة لمعالجة الاستثناءات و ذلك عن طريق الامر throw insufficientfundsException

بعد ذلك وفى جسم الطريقة تم استخدام جملة شرطية للتأكد من قيمة الرصيد قبل عملية السحب ...فإن كان الرصيد يكفى يم خصم مبلغ السحب من الرصيد و إن كان غير ذلك يتم الاعلان عن المتغير needs الذى يتم تخزين فية قيمة الفرق المبلغ المودع و الرصيد الحالى ....ويتم انشاء استثناء جديد بقيمة المخزنة فى المتغير needs
avatar
NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 265
النقاط : 380
التقيم : 9
الجنس : ذكر

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

رد: طلبتكم ساعدوني

مُساهمة من طرف حياة الشقا في الأربعاء مارس 27, 2013 4:26 pm


يعطيك ألف عافية Very Happy

ممكن تشرحلي throws و throw وش معناها ومتى استخدمها وكيف واذا ممكن تعطيني امثله Embarassed

مع خالص شكري
avatar
حياة الشقا
..
..

تاريخ التسجيل : 26/11/2012
المساهمات : 17
النقاط : 30
التقيم : 1
الدولة : السعودية
الجنس : انثى

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

رد: طلبتكم ساعدوني

مُساهمة من طرف أحمد مناع في الخميس مارس 28, 2013 8:03 am

الاخت الكريمة أهلا وسهلا بك .....و أحيك على تغير أسمك باللغة العربية فى المنتدى بدلا من اللغات الاجنبية lol!

أما بالنسبة للكلمتين throws و
throw هما إحدى الكلمات المحجوزة فى لغة الجافا لمعالجة الاستثناءات
المتوقع حدوثها اثناء تشغيل البرنامج ....أما الفرق بينهما هو أن الكلمة
throw تستخدم لمعالجة أى استثناء فى أى طريقة ....فى حين أن الكلمة
المحجوزة throws تستخدم للإعلان عن طريقة لمعالجة الاستثناءات




....مثال بسيط

الكود:
package ex1;
public class Ex1 {
 
    public static void main(String[] args) {
      try{
        int a = 1, b = 0;
        if (b == 0){
           
          throw new Exception("Can't devide by zero!");
         
        } else {
            int c = a / b; 
           
        }
    } catch (Exception e) {
     
        System.out.println(e.getMessage());
    }
    }
}

ففى المثال السابق ...أستخدمت الكلمة المحجوزة throw مع الجملة الشرطية if لمعالجة الاستثناءات الموجودة فى البرنامج ....فإن كانت القيمة التى سيتم القسمة عليها تساوى 0 يتم رمى الخطأ برسالة Can't devide by zero


اما الكلمة throws فكما قلت تستخدم للاعلان عن طريقة لمعالجة الاستثناءات كما يلى :

الكود:


package ex1;
public class Ex1 {
   
  public static void Egy() throws Exception{
    int a = 1, b = 0;
    if (b == 0){
     
      throw new Exception("Can't devide by zero!");
    } else {
        int c = a / b;
    }
}
    public static void main(String[] args) {
     
  try{
    Egy();
} catch (Exception e) {
 
    System.out.println(e.getMessage());
}
    }
}


وكما تلاحظين فى المثال السابق أننا قد أنشأنا الطريقة Egy و قد استخدمنا معها الكلمة المحجوزة throws و ذلك للاعلان بأن تلك الطريقة سوف يتم استخدامها لمعالجة الاستثناءات فى طرق أخرى

و فى النهاية اتمنى أن اكون قد وفقت للشرح

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

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

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

http://egy-tech.forumegypt.net

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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