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

Search Program in Java

مغلق
بدأه نواره في 4 مايو 2004 · 4 رد · 701 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لقد بديت في برنامج يقوم بعملية البحث عن كلمات معينة في نص (ممكن قرائته من ملف او مجموعة من الجمل تدخل عن طريق الكيبورد)

أوشكت على الانتهاء من القسم الأول (القراءة من ملف) ولكن احتاج بعض المساعدة في القسم الثاني(قراءة الجمل المدخله عن طريق الكيبورد)

الكود التالي يعطي الاختيار ما بين القراءة من ملف او الكيبورد:

   try
        {
        if (index6 < 0)
         {
          System.out.println("");
          System.out.println("please enter the text to search from:");
          inFile = new BufferedReader(new InputStreamReader(System.in));
          f=1;
         }
     else
         {
          filename = inCommand.substring(index6+3);
          inFile = new BufferedReader(new FileReader(filename));
          f=2;
         }
      }
      catch(IOException e)
         {
          System.out.println (e);
          System.exit(1);
         }

و الكود التالي هو نوع من انواع البحث المطلوبة ، وهي شغال تمام عند استخدام الملف، ولكن عندي مشكله اني اخلي اليوزر يكتب جمل في أسطر عشان تتم بعدها عملية البحث:

if (flag2.equals("-w"))
            {
           	 while( (line = inFile.readLine() ) != null)
           	 {
              matchcount = 0;
              intext = intext.toLowerCase();
              line = line.toLowerCase();
              linewords = line.split(" ");
              
               	 linewordslen = linewords.length;
               	 
               	 for (i=0; i<linewordslen; i++)
               	 linewords=linewords.toLowerCase();
               	 
               	 for (i=0; i<wordslen; i++)
               	 words=words.toLowerCase();
                  
               	 if (flag1.equals("-o"))
               	 {
                  for (i=0; i < wordslen; i++)
                  {
                 	 for (j=0; j < linewordslen; j++)
                 	 {                    
                    if (words.equals(linewords[j]))
                    {
                   	 System.out.println(line);
                   	 j = linewordslen;
                   	 i = wordslen;
                    }
                 	 }
                  }
               	 }

ملاحظة: الجمل المدخلة يجب ان تدخل على هيئة أسطر

بحيث اذا تمت عملية البحث يجب طباعة السطر الذي يحتوي على الكلمة (او الكلمات) المراد البحث عنها ..

أنتظر ردودكم يا اخوان

جزاكم الله خير..

تحياتي

#2

بالنسبه للملفات ممكن تستخدم string tokenizer

#3

السلام عليكم

تشكر أخي هلى الرد..

مشكلتي مو مع الملف..

كودي شغال تمام م الملف.. لكن عندي مشكله في الحالة الأخرى

كيف اخلي اليوزر يكتب جمل في أسطر من الكومند لاين مو ملف (على هيئة عدة أسطر، وعندما ينتهي اليوزر من كتابة مايريد، يقراء البرنامج ماكتبه اليوزر ويقوم بالبحث عن الكلمات المطلوبة)

وشكرا

#4

السلام عليكم

اخي نواره

بصراحه انا مش شايف فيده من ان اخلي اليوزر يكتب جمل في أسطر من الكومند لاين يقوم بالبحث عن الكلمات المطلوب

فعلشان كده مجربتش اعمل حاجه زي كده

لكن لو وصلت لحل ابعتلنا

#5

اختي العزيزة........

يوجد حل بسيط ما اعرف اذا يمشي حاله معك...

عندما يدخل المستخدم اول جملة لسه ما في مشكلة صح...

برمجي برنامجك على ان عندما يدخل المستخدم انتر

لا ينفذ البحث

بل يعطيه مجال لادخال سطر ثاني...

و هكذا ......

حتى يدخل المستخدم رمز معين انت تحدديه و يفهمه البرنامج يامره بتنفيذ البحث اي ان المستخدم انتهى من ادخال الجمل

ما رايك....

============================

يوجد تحسن ملحوظ في طريقة تقديم مشاركاتك ارجو ان لا يقف ما جرى بيننا في السابق عقبة في طريق هدفنا النبيل للحصول على العلم

و شكرا

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

هذا الموضوع مغلق.

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