تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
بني التحكم و حالاتها في الجافا + امثلة عملية .. (2)
#1
كاتب الموضوع : Friendassist

لا غني لاي مبرمج عن بني التحكم في اي لغة من لغات البرمجة ..ذلك لانك باستعانتك للجمل الشرطية تحدد للبرنامج الطريق الذي سيسير علية لفهم رغبات المستخدم و استيعاب كافة متطلباته ...

تشترك العديد من لغات البرمجة في الحالات الشرطية و نجد هنا توافق كبير بين لغتي السي بلس و الجافا في طرق تناول مثل هذه الشروط ..

مثال :

في لغة السي بلس نعبر عن جملة الشرط if كالتالي :

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]if([/color][color=#0000bb]expression[/color][COLOR=#007700])
{
    [/COLOR][color=#0000bb]statement1[/color][COLOR=#007700];
    [/COLOR][color=#0000bb]statement2[/color][COLOR=#007700];
}  
[/COLOR][color=#0000bb][/color][/COLOR]

بالمثل في الجافا ايضا :

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]if([/color][color=#0000bb]expression[/color][COLOR=#007700])
{
    [/COLOR][color=#0000bb]statement1[/color][COLOR=#007700];
    [/COLOR][color=#0000bb]statement2[/color][COLOR=#007700];
}  
[/COLOR][color=#0000bb][/color][/COLOR]

تستخدم الحالة if في الجافا لاختبار الشرط اولا فاذا تحقق يتم تنفيذ الكود و ان لم يتحقق فلا تنفذ و هكذا ...

هناك ثلاثة اوضاع لكتابة الكود بالشرط if :
1_الاستخدام الاولي للدالة if في حالة عدم استخدام الشرط المناقد .
2_استخدام الدالة jf و معها الشرط المناقد ( if ..... else ).
3_في حالة تعدد حالات الشرط ( if .... else if .... else ).. فيما يسمي nested if ..

الصيغة العامة للحالة الاولي :

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]if([/color][color=#0000bb]expression[/color][COLOR=#007700])
{
    [/COLOR][color=#0000bb]statement1[/color][COLOR=#007700];
    [/COLOR][color=#0000bb]statement2[/color][COLOR=#007700];
}  
[/COLOR][color=#0000bb][/color][/COLOR]

الصيغة العامة للحالة الثانية :



كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]if ([/color][color=#0000bb]expression[/color][COLOR=#007700])
{
    [/COLOR][color=#0000bb]statement1[/color][COLOR=#007700];
    [/COLOR][color=#0000bb]statement2[/color][COLOR=#007700];
}
else
{
    [/COLOR][COLOR=#ff8000]//none expression sucess
[/COLOR][COLOR=#007700]}  
[/COLOR][color=#0000bb][/color][/COLOR]

الصيغة العامة للحالة الثالثة :

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]if ([/color][color=#0000bb]expression1[/color][COLOR=#007700])
{
    [/COLOR][color=#0000bb]statement1[/color][COLOR=#007700];
    [/COLOR][color=#0000bb]statement2[/color][COLOR=#007700];
}
else if ([/COLOR][color=#0000bb]expression2[/color][COLOR=#007700])
{
     [/COLOR][color=#0000bb]statement1[/color][COLOR=#007700];
     [/COLOR][color=#0000bb]statement2[/color][COLOR=#007700];
}
else
}
[/COLOR][COLOR=#ff8000]//none expression sucess
[/COLOR][COLOR=#007700]{  
[/COLOR][color=#0000bb][/color][/COLOR]

باستخدام محرر NetBeans سنقو الان بعمل برنامج لتحديد تقديرات الطلبة و سنحتاج الي :
jTextField1
jLabel1
jButton1

كما في الصورة التالية :













في حدث ال Action performed الذي يكفي click نكتب الكود التالي :

كود :
[color=#000000][COLOR=#0000bb] x [/color][color=#007700]=  [/color][color=#0000bb]Float[/color][color=#007700].[/color][color=#0000bb]parseFloat[/color][color=#007700]([/color][color=#0000bb]jTextField1[/color][color=#007700].[/color][color=#0000bb]getText[/color][COLOR=#007700]());
        if ([/COLOR][color=#0000bb]x[/color][color=#007700]>=[/color][color=#0000bb]0  [/color][color=#007700]& [/color][color=#0000bb]x[/color][color=#007700]<=[/color][color=#0000bb]35[/color][COLOR=#007700])
             [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"ضعيف جدا"[/color][COLOR=#007700]);
        else if  ([/COLOR][color=#0000bb]x[/color][color=#007700]>=[/color][color=#0000bb]35 [/color][color=#007700]& [/color][color=#0000bb]x[/color][color=#007700]<=[/color][color=#0000bb]50[/color][COLOR=#007700])
             [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"ضعيف"[/color][COLOR=#007700]);
        else if  ([/COLOR][color=#0000bb]x[/color][color=#007700]>=[/color][color=#0000bb]50 [/color][color=#007700]& [/color][color=#0000bb]x[/color][color=#007700]<=[/color][color=#0000bb]65[/color][COLOR=#007700])
             [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"مقبول"[/color][COLOR=#007700]);
        else if  ([/COLOR][color=#0000bb]x[/color][color=#007700]>=[/color][color=#0000bb]65 [/color][color=#007700]& [/color][color=#0000bb]x[/color][color=#007700]<=[/color][color=#0000bb]75[/color][COLOR=#007700])
             [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"جيد"[/color][COLOR=#007700]);
        else if  ([/COLOR][color=#0000bb]x[/color][color=#007700]>=[/color][color=#0000bb]75 [/color][color=#007700]& [/color][color=#0000bb]x[/color][color=#007700]<=[/color][color=#0000bb]85[/color][COLOR=#007700])
             [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"جيد جدا"[/color][COLOR=#007700]);
         else if  ([/COLOR][color=#0000bb]x[/color][color=#007700]>=[/color][color=#0000bb]85 [/color][color=#007700]& [/color][color=#0000bb]x[/color][color=#007700]<=[/color][color=#0000bb]100[/color][COLOR=#007700])
             [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"ممتاز"[/color][COLOR=#007700]);
        else
             [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"الرجاء التاكد من القيم  المدخلة"[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

البرنامج الناتج ستجدونه في ايقونة مرفقة بالمشروع تسمي dist

البرنامج الناتج :












}}}
تم الشكر بواسطة: saeedmoham@yahoo.com
#2
الشكل العام للكود :

كود :
[color=#000000][COLOR=#007700]switch ([/color][color=#0000bb]x[/color][COLOR=#007700])
    {
        case [/COLOR][color=#0000bb]1 [/color][COLOR=#007700]:
           [/COLOR][color=#0000bb]Statement1[/color][COLOR=#007700];
            break;
        case [/COLOR][color=#0000bb]2 [/color][COLOR=#007700]:
            [/COLOR][color=#0000bb]Statement1[/color][COLOR=#007700];
            break;
        default :
            [/COLOR][COLOR=#ff8000]// unknown Statement1          
    [/COLOR][COLOR=#007700]}  
[/COLOR][/COLOR]

مثال لبرنامج يقوم بتحويل الارقام المدخلة الي المسمي الحرفي لها :

كود :
[color=#000000][COLOR=#0000bb] int x [/color][color=#007700]= [/color][color=#0000bb]Integer[/color][color=#007700].[/color][color=#0000bb]parseInt[/color][color=#007700]([/color][color=#0000bb]jTextField1[/color][color=#007700].[/color][color=#0000bb]getText[/color][COLOR=#007700]());
    switch ([/COLOR][color=#0000bb]x[/color][COLOR=#007700])
    {
        case [/COLOR][color=#0000bb]1 [/color][COLOR=#007700]:
            [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"Number One"[/color][COLOR=#007700]);
            break;
            case [/COLOR][color=#0000bb]2 [/color][COLOR=#007700]:
            [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"Number Two"[/color][COLOR=#007700]);
            break;
                case [/COLOR][color=#0000bb]3 [/color][COLOR=#007700]:
            [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"Number Three"[/color][COLOR=#007700]);
            break;
                    case [/COLOR][color=#0000bb]4 [/color][COLOR=#007700]:
            [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"Number Four"[/color][COLOR=#007700]);
            break;
                        case [/COLOR][color=#0000bb]5 [/color][COLOR=#007700]:
            [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"Number Five"[/color][COLOR=#007700]);
            break;
                          default :
            [/COLOR][color=#0000bb]jLabel1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"Unknown Entry"[/color][COLOR=#007700]);                
    }  
[/COLOR][/COLOR]

اخيرا مع الروابط :
----------------------

رابط مشروع هذا الموضوع :
للحالة if :
http://vb4arb.com/vb/uploaded/18_01350636882.rar
للحالة case :
http://vb4arb.com/vb/uploaded/18_11350636882.rar

و السلام عليكم ورحمة الله ....



}}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم