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

[مخالف - طلب حل : ]مساعده عاجله ..عن البرمجه بالجافا

مغلق
بدأه عبقري زمانه في 22 نوفمبر 2011 · 7 رد · 1,257 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بدون مقدمات ولا كلام طويل

أنا بلاني ربي بمشروع في الجامعه باستخدام لغة الجافا

ولكن المشكله اني ماأعرف منها إلا أسمها ولا عمري كتبت كود عليها :wacko:

وحاولت كثير ودورت كثير ولكن للأسف ماعرفت أدبر عمري :sad:

,,

والمطلوب منه

- ان المستخدم يدخل أي نص هو يبيه

- ثم أشيل منه كل علامات الترقيم والحروف الخاصه مثل $و%

- أقسم النص كلمه كلمه )Tokenization) مثلا "This is a java code"

تصبح This

is

java

code

- ثم أمشي على النص كامل وأحول أي حرف كبير الى صغير

مثلا This تصبح this

- ثم أرتب الكلمات أبجديا a-z

- ثم أمشي على النص كامل مره ثانيه وأحذف أي كلمة متكرره عندي (removing duplicates)

- ثم أحسبب عدد الكلمات الموجوده في النص كامل (counting)

- ثم أحسب كل كلمه وعدد التكرارات لها قبل الحذف

مثلا كلمة this تكررت 5 مرات وهكذا على كامل النص

و أطبع كل كلمه مع تكرارها وكذلك أطبع مجموع الكلمات كلها

- ثم أحذف stop word مثل a, the, an, for ...إلخ

- ثم أحسب عدد الكلمات المتبقيه

(احسب تكرار كل كلمه بالاضافه لمجموع الكلمات كامله

- ثم احسب نسبة النقص .. يعني الفرق بين النص ومعاه stop word

وبين النص بدون stop word

-ثم ارجع كل كلمه للجذر لها (الاصل)

مثلا كلمة apples ترجع الى apple

- آخر شي أطبع كل كلمه وقبالها الجذر لها

,,

وبكذا يكون انتهى المشروع المطلوب مني

عارف انه طويل شوي

ولكن محتاج مساعدتكم لو في الاجزاء اللي تعرفونها

انا لقيت بعض function الجاهزه مثل اللي تبع sort, count واللي يحول الحروف الكبيره الى صغيره

ولكن بعضها تتعامل مع array وبعضها arraylist وبعضها char

ولكن ماعرفت وشلون اتعامل معهم ولا أحول انواعهم :wacko:

,,

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

ولاحرمكم الله الاجر

,,

في انتظاركم :happy:

#2

السلام عليكم:

لإدخال نص من المستخدم

String a=JOptionPane.showInputDialog("Enter a string");

لتحويل حروف النص إلى Lower case

String b=a.toLowerCase();

إقرأ المزيد في المرفق

02 slide-String and Text IO.rar

1
#3

السلام عليكم ورحمة الله وبركاته<br>الأخ الكريم<br>مرحباً بكم في منتدى الفريق العربي للبرمجة<br>يرجى وضع محاولاتك لان ذلك مخالف لقوانين المنتدى <br>حتى لا يتم اغلاق الموضوع لدخوله تحت بند "فقرة حل الواجبات"<br><font color="#000000">لقراءة قواعد المشاركة<span style="color: red"></span></font><br><br>

<a href="index.php?showtopic=29343" class="bbc_url" title="رابط خارجي " rel="nofollow external">http://www.arabteam2...showtopic=29343</a><br>وشكرا<br>

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 22 نوفمبر 2011 في 22:01

Software Developer
Mahmoudkelany.com


 

#4

اقرأ عن الـ Regular Expression

راح تفيدك في المشروع كثثير..

حاول ولو وقف معك شي احنا بالخدمة :happy:

تحياتي

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

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

#5

السلام عليكم جميعا

أشكر لكل من تفاعل معي في موضوعي

وأخي محمود أعتذر وبشده لعدم معرفتي المسبقه بالقوانين

,,

وبالنسبه لمحاولاتي

وجدت كثير من الأكواد المساعده مثل كود string tokenizer وهو يعمل بشكل جيد مع النص المعطى وليس للإدخال!

StringTokenizer st = new StringTokenizer("this is a test");

while (st.hasMoreTokens()) {

System.out.println(st.nextToken());

}

وكذلك وجدت كود يعمل sort ولكن مشكلته أنه يتعامل مع array موجود مسبقا وليس string مدخل!

String[] names = {"zoe", "alison", "david", "apple", "apply" };

Arrays.sort(names);

System.out.println(Arrays.toString(names));

وكذلك وجدت كود للـ counting

System.out.println( st.countTokens());

وكذلك وجدت كود يحذف التكرار remove duplicate ويعمل sort في نفس الوقت

ولكنه يعمل على arraylist ومن قيم مدخله مسبقا .. ولا أعلم كيفية تحويل الكود ليتعامل مع string !

ArrayList arrayList1 = new ArrayList();

arrayList1.add("A");

arrayList1.add("A");

arrayList1.add("B");

arrayList1.add("B");

arrayList1.add("B");

arrayList1.add("C");

HashSet hashSet = new HashSet(arrayList1);

ArrayList arrayList2 = new ArrayList(hashSet) ;

Collections.sort(arrayList2);

for (Object item : arrayList2)

System.out.println(item);

أيضا وجدت كود لتحويل الحروف الكبيره الى صغيره ولكن مشكلته انه يتعامل مع char !

ولم أعرف كيفية تحويل النص الى char ثم اعادته الى string لأكمل عليه العمليات المتبقيه!!

,,

تقريبا هذه هي المحاولات اليائسه التي حاولتها أما الباقي فلم أجد كود وإن وجدت فإنه يظهر لي خطأ عند الإستخدام

وأغلبها تكمن في عدم معرفة كيفية ربط الدوال مع بعضها والتعامل معها كـ string وتخزينها وإعادة استخدامها وتخزينها في متغير آخر

,,

أرجو بهذا أن لا أكون مخالف لقوانين المنتدى

وشاكر لك حرصك

#6
اقتباس
وجدت كثير من الأكواد المساعده مثل كود string tokenizer وهو يعمل بشكل جيد مع النص المعطى وليس للإدخال!

بالنسبة للإدخال هناك عدة طرق .. مثلا باستخدام الفئة Scanner ' في حالة أردت الإدخال عن طريق الـ console '

مثال توضيحي بسيط :

Scanner s = new Scanner(System.in);
String myText = s.nextLine();

أو عن طريق استخدام الـ JOptionPane ' في حالة أردت الإدخال عن طريق الـ Dialog '

مثال توضيحي بسيط:

 String a = "";
       a = JOptionPane.showInputDialog("Enter The Text: ");

بعد ما تدخل النص ، تسنده إلى متغير نصي .. وتعمل ماتريد معه :)

هذا ما يتعلق بإدخال النص ..

اقتباس
وكذلك وجدت كود يعمل sort ولكن مشكلته أنه يتعامل مع array موجود مسبقا وليس string مدخل!

أنت بما أنك استخدمت الـ Tokenizer فالناتج أصلا راح يكون [ مصفوفة بكل الكلمات الموجودة بالنص مع الفراغات ] ..

اقتباس
يضا وجدت كود لتحويل الحروف الكبيره الى صغيره ولكن مشكلته انه يتعامل مع char !

تستطيع تعمل تكرار بحيث يمر على كل حرف ويغيره عن طريق الدالة : charAt()

وماراح تحتاج أنك تحول الـ char إلى string

:happy:

تحياتي

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

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

#7

بالنسبة للنقطة الأولى : يمكنك إستخدام ال regular expression كما قال لك javaprogrammer

يمكنك أيضاً إستخدام ال ASCII code للحروف ، مثلاً الحرف A الكود الخاص بة 65 و الحرف Z الكود الخاص بة 90 وهكذا

مثال لإستخدام ال Regular Expression وال Ascii

//Use regulare expression to remove unwanted characters
		String theString  = "Hello$%$% I am $%$% test$#%#ing thi$s";
		String myRegX= "[^a-zA-Z-\\s]";

		String usingPatterns = theString.replaceAll(myRegX, "");

		//Use characters ascii codes
		String usingAscii = ""; 
		for (int i = 0; i < theString.length(); i++) {
			if( ( theString.charAt(i) >=  65 && theString.charAt(i) <=90) //Upper case letters (A-Z)
					|| ( theString.charAt(i) >=  79 && theString.charAt(i) <=122) //Lower case letters (a-z)
					|| theString.charAt(i) == 32){ //White space
				usingAscii +=theString.charAt(i);
			}
		}


		System.out.println("Original  String = >>"  + theString);
		System.out.println("After using Regulare Expression = >> " + usingPatterns);
		System.out.println("After using ASCII = >> " + usingAscii);

اقتباس
وجدت كثير من الأكواد المساعده مثل كود string tokenizer وهو يعمل بشكل جيد مع النص المعطى وليس للإدخال!

يمكنك إستخدام نفس الفكره و بدلاً من إستخدام وإستبدال ال array الموجود مسبقأ مع النص الجديد

مثال :

//Example using scanner and string tokenzier
		Scanner in = new Scanner(System.in); //To read something
		StringTokenizer tokenz = new StringTokenizer(in.nextLine()); //Read something and save it in tokenizer
		String[] myArray = new String[tokenz.countTokens()];
		for (int i = 0; i < tokenz.countTokens(); i++) {
			myArray = tokenz.nextToken();
		}

		Arrays.sort(myArray);
#8

الأخ الكريم/الأخت الكريمة

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

مرحباً بكم في منتدى الفريق العربي للبرمجة

تأسف إدارة المنتدى لغلق الموضوع وذلك لمخالفته قوانين المشاركات، فقرة طلب حل الواجبات والتمارين.

قواعد طرح المشاركات

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…