• 0

ما سبب هذا الخطأ في برنامجي بلغة جافا؟

أريد أن أعرف لماذا الناتج ليس 2 4 6 8 10؟

ما الخطأ الذي ارتكبته في هذه الأسطر القليلة؟

13227194_846321042178355_6036721070069823254_n.jpg

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

الخطأ في ++i، والتي يجب أن تكون i++ لأن الأولى ستغير قيمة i لكن سيتم إرجاع قيمة i الأصلية قبل الزيادة وأما i++ فإنها ستغير قيمة i وستُرجع قيمة i الجديدة للمقارنة.

هذا مثال للحالة الأولى:

 i = 1;
 j = ++i;
 (i is 2, j is 2)

وهذا مثال للحالة الثاني:

 i = 1;
 j = i++;
 (i is 2, j is 1)

لذلك يجب أن تغيّر سطر الجملة الشرطية إلى التالي ليعمل كما تريده:

			if ((++i)%2 == 0)

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن