الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

return statment

بدأه ريحانة الاقصى في 2 أبريل 2011 · 8 رد · 621 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

داخل ال method اذا تم الوصول الى جملة return اليس من المفروض ان يقوم البرنامج بالخروج من ال method

في حال اذا ما كانت داخل if statment وتحقق شرط ال if

وضعت جملة return ولكن البرنامج يستمر ولا يخرج رغم تحقق شرط if

            if(j==v1){
    		System.out.println(j+"=="+v1);
    		System.out.println("cycle");
    			return "cycle";

    		}

عند تتبع البرنامج وجدت تحقق شرط if من خلال

الناتج

0==0

cycle

السطر الاول 0==0 يعني تحقق شرط if

وايضا قام بطباعة الجملة ولكن لم ينفذ الامر الثالث وهو ال return

هل من الممكن المساعدة في معرفة السبب

تم تعديل هذه المشاركة بواسطة ريحانة الاقصى في 2 أبريل 2011 في 19:17

#2

ليس لدي خبره كبيره في الجافا

ولكن قد تكون break مفيده في مثل هذي الامور وهي تستخدم اذا عنذك اكثر من شرط في لوب وتحقق شرط منهم يقوم بالخروج تلقائيا بعد كلمه break

وان شاء الله الشباب مايقصرون معاك

موفقه

1
#3
هلال15 كتب:

ليس لدي خبره كبيره في الجافا

ولكن قد تكون break مفيده في مثل هذي الامور وهي تستخدم اذا عنذك اكثر من شرط في لوب وتحقق شرط منهم يقوم بالخروج تلقائيا بعد كلمه break

وان شاء الله الشباب مايقصرون معاك

موفقه

صحيح break تخرج ولكن لا ترجع قيمة

اما return ترجع قيمة للي قام باستدعاء الميثود

شكرا على المساعدة

#4

أنا أيضاً ليس لدي خبرة كبيرة ولكن الذي اعرفه انه سيخرج من الجملة الشرطية اذا قام بتنفيذ الاسطر داخل الجملة الشرطية فلماذا ترجعين قيمة هل الميثود التي كتبتيها ترجع قيمة؟ وهل يمكنك كتابة الميثود كاملة ليس فقط الجملة الشرطية؟

1
#5

كيف عرفت انه لا ينفذ الامر الثالث

قم باضافة سطر لطباعة جملة بعد السطر الثالث للتأكد

مثلا

if(j == v){

return "cycle";

}

System.out.println("return failed.");

فاذا طبع الجملة return failed فهو لم ينفذ ال return فعلا والا فقد نفذها والبرنامج صحيح

فى انتظار النتيجة

تحياتى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 2 أبريل 2011 في 20:56


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#6

الكود الخاص بك غير واضح

مممكن يكون هناك شىء اخر يعوق ذلك

يعنى هذا مثال قومت به لك فهو يعمل بشكل جيد

public class TestReturnInIf {

	public static void main(String[] args) {
    	System.out.println(check(0));
    	System.out.println(check(2));
    	System.out.println(check(1));
    	System.out.println(check(10));
	}

	public static String check(int i) {
    	if (i == 0) {
        	return "Start";
    	} else if (i == 1) {
        	return "After Start";
    	} else {
        	return "Another";
    	}
	}
}

MOHAMED FATHEI كتب:

كيف عرفت انه لا ينفذ الامر الثالث

قم باضافة سطر لطباعة جملة بعد السطر الثالث للتأكد

مثلا

if(j == v){

return "cycle";

System.out.println("return failed.");

}

فاذا طبع الجملة return failed فهو لم ينفذ ال return فعلا والا فقد نفذها والبرنامج صحيح

فى انتظار النتيجة

تحياتى

معذره اخى محمد

لا يمكن تنفيذ اى جمله بعد جمله الـ return

كما ذكرت فى الكود

Software Developer
Mahmoudkelany.com


 

#7

فعلا عزيزى محمود

اقصد خارج القوس ويتأكد ان j = v

غلطة مطبعية wink.gif وعلى كل شكرا لتنبيهك

تم التعديل

تحياتى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 2 أبريل 2011 في 20:57


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#8

الreturn ترجع قيمه فمثلا لنقل ان الif و statement في method اسمه stringCycle()

String f= stringCycle()
System.out.print(f);

راح يطبع cycle

1
albert_einstein.jpg

Untitled-AE.jpg
#9

شكرا جزيلا لجهودكم لقد تمكنت من معرفة المشكلة

في اثناء عملية الاستدعاء الذاتي لم اضع قبلها الامر return

فقط لقد كنت اضعه في الاستدعاء الاول

مواضيع مشابهة