19-10-12, 01:19 PM
كاتب الموضوع : Friendassist
لغة الجافا تدعم ثلاثة انواع من حالات التفرع الا وهم :1_ Break و تستخدم لكسر او الخروج من حلقة ما ..
2_ Continue و تستخدم للقفز من علي قيمة معينة بالحلقة .. اي استبعاد قيمة معينة من الحلقة ..
3_ الحالة Return ..
اولا : الحالة Break ..
كود :
[color=#000000][COLOR=#0000bb] int n[/color][COLOR=#007700];
for ([/COLOR][color=#0000bb]n[/color][color=#007700]=[/color][color=#0000bb]10[/color][color=#007700];[/color][color=#0000bb]n[/color][color=#007700]>[/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]n[/color][COLOR=#007700]--)
{
[/COLOR][color=#0000bb]list1[/color][color=#007700].[/color][color=#0000bb]add[/color][color=#007700]([/color][color=#dd0000]"" [/color][color=#007700]+ [/color][color=#0000bb]n[/color][COLOR=#007700]);
if ([/COLOR][color=#0000bb]n[/color][color=#007700]==[/color][color=#0000bb]3[/color][COLOR=#007700])
{
break;
}
}
[/COLOR][/COLOR]
حيث يتم كسر الحلقة عند القيمة 3 و لا يتم عرض باقي الحلقة ..
مثال متقدم يشمل array , loop , if , break..
مثال متقدم يشمل array , loop , if , break..
كود :
[color=#000000][COLOR=#007700]private [/color][color=#0000bb]void breakmethode[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int [/color][color=#007700][][] [/color][color=#0000bb]arrayOfInts [/color][color=#007700]= {{[/color][color=#0000bb]32[/color][color=#007700],[/color][color=#0000bb]87[/color][color=#007700],[/color][color=#0000bb]3[/color][color=#007700],[/color][color=#0000bb]58[/color][color=#007700]},{[/color][color=#0000bb]12[/color][color=#007700],[/color][color=#0000bb]1076[/color][color=#007700],[/color][color=#0000bb]2000[/color][color=#007700],[/color][color=#0000bb]8[/color][color=#007700]},{[/color][color=#0000bb]622[/color][color=#007700],[/color][color=#0000bb]127[/color][color=#007700],[/color][color=#0000bb]77[/color][color=#007700],[/color][color=#0000bb]955[/color][COLOR=#007700]}};
[/COLOR][color=#0000bb]int searchFor [/color][color=#007700]=[/color][color=#0000bb]12[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int i[/color][color=#007700],[/color][color=#0000bb]j [/color][color=#007700]= [/color][color=#0000bb]0[/color][COLOR=#007700];
[/COLOR][color=#0000bb]boolean foundIt[/color][color=#007700]=[/color][color=#0000bb]false[/color][COLOR=#007700];
[/COLOR][color=#0000bb]search[/color][COLOR=#007700]:
for ( [/COLOR][color=#0000bb]i[/color][color=#007700]=[/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]arrayOfInts[/color][color=#007700].[/color][color=#0000bb]length [/color][color=#007700]; [/color][color=#0000bb]i[/color][COLOR=#007700]++){
for([/COLOR][color=#0000bb]j[/color][color=#007700]=[/color][color=#0000bb]0 [/color][color=#007700];[/color][color=#0000bb]j[/color][color=#007700]<[/color][color=#0000bb]arrayOfInts[/color][color=#007700][[/color][color=#0000bb]i[/color][color=#007700]].[/color][color=#0000bb]length[/color][color=#007700];[/color][color=#0000bb]j[/color][COLOR=#007700]++){
if ([/COLOR][color=#0000bb]arrayOfInts[/color][color=#007700][[/color][color=#0000bb]i[/color][color=#007700]][[/color][color=#0000bb]j[/color][color=#007700]] == [/color][color=#0000bb]searchFor[/color][COLOR=#007700])
{
[/COLOR][color=#0000bb]foundIt[/color][color=#007700]=[/color][color=#0000bb]true[/color][COLOR=#007700];
break [/COLOR][color=#0000bb]search[/color][COLOR=#007700];
}
}
}
if ([/COLOR][color=#0000bb]foundIt[/color][COLOR=#007700]){
[/COLOR][color=#0000bb]label1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]"found" [/color][color=#007700]+ [/color][color=#0000bb]searchFor [/color][color=#007700]+ [/color][color=#dd0000]"at" [/color][color=#007700]+ [/color][color=#0000bb]i [/color][color=#007700]+[/color][color=#dd0000]","[/color][color=#007700]+ [/color][color=#0000bb]j[/color][COLOR=#007700]);
}
}
[/COLOR][/COLOR]
تستخدم الدالة لكسر عملية البحث عن رقم في مصفوفة arrayOfInts ..
يعني اذا وجدت الرقم 12 اخرج من الحلقتين ..
المثال الناتج ...
رابط تحميل المثال :
http://vb4arb.com/vb/uploaded/18_01350638366.rar
ثانيا : الحالة Continue ..
يعني اذا وجدت الرقم 12 اخرج من الحلقتين ..
المثال الناتج ...
http://vb4arb.com/vb/uploaded/18_01350638366.rar
ثانيا : الحالة Continue ..
كود :
[color=#000000][COLOR=#0000bb] int n[/color][COLOR=#007700];
for ([/COLOR][color=#0000bb]n[/color][color=#007700]=[/color][color=#0000bb]10[/color][color=#007700];[/color][color=#0000bb]n[/color][color=#007700]>[/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]n[/color][COLOR=#007700]--)
{
if ([/COLOR][color=#0000bb]n[/color][color=#007700]==[/color][color=#0000bb]5[/color][COLOR=#007700]){continue; }
[/COLOR][color=#0000bb]list1[/color][color=#007700].[/color][color=#0000bb]add[/color][color=#007700]([/color][color=#dd0000]"" [/color][color=#007700]+ [/color][color=#0000bb]n[/color][COLOR=#007700]);
}
[/COLOR][/COLOR]
حيث تم تجاهل العدد 5 من الحلقة و تم اكمال الحقة بشكل طبيعي ..
مثال متقدم
مثال متقدم
كود :
[color=#000000][COLOR=#0000bb] StringBuffer SearchMe [/color][color=#007700]= new [/color][color=#0000bb]StringBuffer[/color][color=#007700]([/color][color=#dd0000]"peter piper picked a peck of picked peppers"[/color][COLOR=#007700]);
[/COLOR][color=#0000bb]int max[/color][color=#007700]=[/color][color=#0000bb]SearchMe[/color][color=#007700].[/color][color=#0000bb]length[/color][COLOR=#007700]();
[/COLOR][color=#0000bb]int numPS [/color][color=#007700]= [/color][color=#0000bb]0[/color][COLOR=#007700];
for ([/COLOR][color=#0000bb]int i[/color][color=#007700]=[/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]max[/color][color=#007700];[/color][color=#0000bb]i[/color][COLOR=#007700]++){
[/COLOR][COLOR=#ff8000]//يتم التركيز في عملية التفنيط عن كل من الحرفين P , S
[/COLOR][color=#007700]if([/color][color=#0000bb]SearchMe[/color][color=#007700].[/color][color=#0000bb]charAt[/color][color=#007700]([/color][color=#0000bb]i[/color][color=#007700])!=[/color][color=#dd0000]'p'[/color][COLOR=#007700])
{
continue;
}
[/COLOR][color=#0000bb]numPS[/color][COLOR=#007700]++;
[/COLOR][color=#0000bb]SearchMe[/color][color=#007700].[/color][color=#0000bb]setCharAt[/color][color=#007700]([/color][color=#0000bb]i[/color][color=#007700], [/color][color=#dd0000]'p'[/color][COLOR=#007700]);
}
[/COLOR][color=#0000bb]label1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]" Found " [/color][color=#007700]+ [/color][color=#0000bb]numPS [/color][color=#007700]+ [/color][color=#dd0000]"P , S in the string .."[/color][COLOR=#007700]);
[/COLOR][color=#0000bb]label2[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#dd0000]""[/color][color=#007700]+[/color][color=#0000bb]SearchMe[/color][COLOR=#007700]);
[/COLOR][/COLOR]
يقوم هذا الكود بالبحث عن الحرفين P , S في متغير نصي و هو SearchMe ..
مثال آخر :
مثال آخر :
كود :
[color=#000000][COLOR=#0000bb]String searchMe [/color][color=#007700]= [/color][color=#dd0000]"Look for a substring in me"[/color][COLOR=#007700];
[/COLOR][color=#0000bb]String substring [/color][color=#007700]= [/color][color=#dd0000]"sub"[/color][COLOR=#007700];
[/COLOR][color=#0000bb]boolean foundIt [/color][color=#007700]= [/color][color=#0000bb]false[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int max [/color][color=#007700]= [/color][color=#0000bb]searchMe[/color][color=#007700].[/color][color=#0000bb]length[/color][color=#007700]() - [/color][color=#0000bb]substring[/color][color=#007700].[/color][color=#0000bb]length[/color][COLOR=#007700]();
[/COLOR][color=#0000bb]test[/color][COLOR=#007700]:
for ([/COLOR][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]i [/color][color=#007700]<= [/color][color=#0000bb]max[/color][color=#007700]; [/color][color=#0000bb]i[/color][COLOR=#007700]++) {
[/COLOR][color=#0000bb]int n [/color][color=#007700]= [/color][color=#0000bb]substring[/color][color=#007700].[/color][color=#0000bb]length[/color][COLOR=#007700]();
[/COLOR][color=#0000bb]int j [/color][color=#007700]= [/color][color=#0000bb]i[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int k [/color][color=#007700]= [/color][color=#0000bb]0[/color][COLOR=#007700];
while ([/COLOR][color=#0000bb]n[/color][color=#007700]-- != [/color][color=#0000bb]0[/color][COLOR=#007700]) {
if ([/COLOR][color=#0000bb]searchMe[/color][color=#007700].[/color][color=#0000bb]charAt[/color][color=#007700]([/color][color=#0000bb]j[/color][COLOR=#007700]++)
!= [/COLOR][color=#0000bb]substring[/color][color=#007700].[/color][color=#0000bb]charAt[/color][color=#007700]([/color][color=#0000bb]k[/color][COLOR=#007700]++)) {
continue [/COLOR][color=#0000bb]test[/color][COLOR=#007700];
}
}
[/COLOR][color=#0000bb]foundIt [/color][color=#007700]= [/color][color=#0000bb]true[/color][COLOR=#007700];
break [/COLOR][color=#0000bb]test[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb]label1[/color][color=#007700].[/color][color=#0000bb]setText[/color][color=#007700]([/color][color=#0000bb]foundIt [/color][color=#007700]? [/color][color=#dd0000]"Found it" [/color][COLOR=#007700]:
[/COLOR][color=#dd0000]"Didn't find it"[/color][COLOR=#007700]);
}
[/COLOR][/COLOR]
رابط تحميل المثال :
http://vb4arb.com/vb/uploaded/18_11350638366.rar
ثالثا : الحالة Return ..
و تستخدم في حالتين اما ارجاع قيمة لدالة او عدم ارجاع اي قيمة ...
http://vb4arb.com/vb/uploaded/18_11350638366.rar
ثالثا : الحالة Return ..
و تستخدم في حالتين اما ارجاع قيمة لدالة او عدم ارجاع اي قيمة ...
كود :
[color=#000000][COLOR=#007700]return ++[/color][color=#0000bb]count[/color][COLOR=#007700];
[/COLOR][/COLOR]
كود :
[COLOR=#000000][COLOR=#007700]return;
[/COLOR][/COLOR]
و السلام عليكم ورحمة الله ..