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

ربط أمر continue مع حلقةالدوران while؟

بدأه ηaseemЈava في 22 مارس 2013 · 4 رد · 532 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أسعد الله مساءكم

 

تساؤلاتي:

1- حينما أنفذ برنامج باستخدام الأمر continue  مع حلقة الدوران  while، يكون الناتج هو inifine loop.

 

هذا هو الكود

int i = 0;
    while ( i <= 10 )
    {
        System.out.println(i);
        if ( i == 8 )
        {
            continue;
        }
        i++;

 

كيف يمكن تغيير موضع أمر الزيادة i++ في الكود، بحيث لا ينتج دوران لا منتهي؟

 

 

2- دالة nextLine() تقوم بقراءة سطر كامل والدالة next() تقرأ كلمة واحدة فقط

ما هي الفروق الآخرى الجوهرية بين الدالتين في تعاملهما مع delimiters؟

 

وفقكم الله.

#2

هذا تعديل الكود والفرق واضح

int i = 0;
    while ( i <= 10 )
    {
        System.out.println(i);
        if ( i == 8 )
        {
            continue;
        }
        i++;
    }

تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 22 مارس 2013 في 21:44

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#3

شكرا لك

خطأ مني نسيت القوس أسفل الحلقة ولكن إضافته لم يغير من الأمر شيء. مازالت الحلقة تنفذ دونما توقف.

 

نرجو تعاون أساتذتنا في الجافا.

تم تعديل هذه المشاركة بواسطة ηaseemЈava في 23 مارس 2013 في 13:51

#4

الحلقة ستبقى تدور من غير نهاية لأنها عندما يصير i إلى القيمة 8 ستدخل الشرط  if i == 8 وتستقبل الأمر continue  وهو يأمر الحلقة أن تكف عن قراءة الاوامر والبدأ من جديد

ومعنى ذلك أن الحلقة لن تذهب لقراءة الأمر ++i وذلك  يقتضي أن قيمة i ستظل تساوي 8

وما دام كذلك فإن شرط الخروج من الحلقة لن يتحقق وهو أن تكون i أكبر من10

 

هذا هو السبب في عدم انتهاء الدوران وهذا تعديل الكود

int i = -1;
    while ( i <= 10 )
    {
        i++;
        if ( i == 8 )
        {
            continue;
        }
        System.out.println(i);      
      }

وقد غيرت i إلى -1 كي تتم طباعة 0

تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 23 مارس 2013 في 18:36

1

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#5

شكرا جزيلا أستاذ أحمد على التوضيح..

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