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

كيف احول while الى for

بدأه S4ud!-s-r00t في 30 مارس 2011 · 4 رد · 504 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني انا ابي احول هذا الكود وابي اخلية بدالة for

كيف بس اهم شي ابي شرح الطريقة تكفوون

هذا الكود

import java.util.Scanner;
public class New {
	public static void main(String args[]){
		Scanner input = new Scanner(System.in);
		System.out.println("Please enter a number");
		int a = input.nextInt();
		int digit;
		int b = 0;

		while(a != 0){
			digit = a % 10;
			b = b * 10 + digit;
			System.out.println("b = "+ b);
			a /= 10;
		}



	}

}
#3

بعد الـ for هناك ثلاثة أمور :

تعريف المتغيرات

الشروط

القرارات

مثال :

for(int i = 0;i != 0 ; i--){}

في المثال أعلاه :

i = قمنا بتعريف متغير من نوع عدد صحيح

i != 0 هذا هو الشرط ، بما أن i لا تساوي صفر ، انتقل لخانة القرار

i-- خانة القرار هنا تقوم بإنقاص قيمة i بواحد

في سؤالك لا نحتاج سوا الشرط ..

  for(;a != 0 ;){
                        digit = a % 10;
                        b = b * 10 + digit;
                        System.out.println("b = "+ b);
                        a /= 10;
                }

نستطيع كتابته بطريقة أخرى :

Scanner input = new Scanner(System.in);
                System.out.println("Please enter a number");
                int a ;
                int digit;
                int b = 0;

                for(a = input.nextInt();a != 0 ; a/=10){
                        digit = a % 10;
                        b = b * 10 + digit;
                        System.out.println("b = "+ b);

                }

بنفس الطريقة السابقة قمنا بإسناد قيمة المدخل من المستخدم إلى a في أول خانة من الـ for ، ثم أعطيناه الشرط a!=0 بعد ذلك أعطيناه القرار a/=10

أعتقد الآن الامور واضحة :)

تم تعديل هذه المشاركة بواسطة JavaPorgrammer في 30 مارس 2011 في 16:49

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#4

أخي العزيز الكود التالي فيه الحل الذي تريده

import java.util.Scanner;

public class New {
    public static void main(String args[]){
            Scanner input = new Scanner(System.in);
            System.out.println("Please enter a number");
           // int a = input.nextInt();
            int digit;
            int b = 0;

            for (int a = input.nextInt(); a != 0; a = input.nextInt()) {
            	  digit = a % 10;
                  b = b * 10 + digit;
                  System.out.println("b = "+ b);
                  a /= 10;

            }

    }
}

وكما ترى اخي هنا

for (int a = input.nextInt(); a != 0; a = input.nextInt())

وهنا نصرح عن المتحول a ونعطيه قيمة ابتدائية وهي القيمة التي نقوم بادخالها اول مرة

فاذا كانت هذه القيمة لا تساوي صفر فنستمر بالادخال وهكذا

اتمنى ان أكون قد أجبتك وبالتوفيق

تم تعديل هذه المشاركة بواسطة vector_ever في 30 مارس 2011 في 17:26

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#5

بيض الله وجيهكم وا اسف على ازعاجكم

تم تعديل هذه المشاركة بواسطة S4ud!-s-r00t في 30 مارس 2011 في 17:54

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