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

أريد أخذ حرف من String ومساواته بنص

بدأه The.Eagle في 3 أبريل 2011 · 10 رد · 578 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤالي هو

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

وأريد أن أستخدم الحرف الأول م الثاني ... الخ , وأريد أن أساويها بحرف

هذا قصدي بالكود :

String x = enter1.getText();

    if ( x.substring(0,1)== "A")
        enter2.setText("#@$");

يعني لو أدخل الحرف الأول A أبغى الـif تتحقق منه

هل طريقة أصلا صحيحة ولا

والمشكلة جربت طرق كثير وحاولت لمدة 3 ساعات لكن بدون جدوى

تم تعديل هذه المشاركة بواسطة The.Eagle في 3 أبريل 2011 في 05:18

#2

ايش تقصد بـ "الحرف الأول م الثاني" ؟ يا ليت توضح أكثر

597657.png
#3

استخدم ' ' لمقارنة الحروف chars

هذا مثال

String x = enter1.getText();

    	for (char ch : x.toCharArray()) {

        	if (ch == 'A') {

   			enter2.setText("#@s");
break;


        	}

    	}

تحياتى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 3 أبريل 2011 في 09:46


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#4
if ( x.substring(0,1).equals( "A"))

--

Mina Fouad

Computer & Systems Engineering Dpt.

Faculty of Engineering

Alexandria University

#5
if (x.charAt(0) == 'A')
1
#6

طيب يا اخوان الله يعطيكم العافية

أخوي mina

طبقت حلك والشكر لك وللاخوان

لكن واجهتني مشكلة

وهي عندما أكتب هذا الكود

 String x = enter1.getText();

    if ( x.substring(0,1).equals("A"))
        show.setText("#@$");
    if ( x.substring(1,2).equals("B"))
        show.setText("///");

يظهر لي إذا تحققت الجمل

الجملة الثانية

"///"

فكيف أتلافا هذه المشكلة

#7

العفو اخي لا داعي للشكر,

x.substring(0,1).equals("A")

هذه الجملة تقارن اول حرف ف ال String x بالحرف A

وبنفس الطريقة

x.substring(1,2).equals("B")

لكن هنا المقارنة مع الحرف الثاني من ال string x

وبما ان ناتج البرنامج "///"

يبقا الشرط التاني اتحقق اللي هو الحرف التاني من ال string x بيساوي B

مش شايف مشاكل !

زيادة توضيح

x.substring(0,1);

بترجع String جديدة بداية من ال index 0 وحتى ال index 1 ف ال String x اللي هو الحرف الاول

--

Mina Fouad

Computer & Systems Engineering Dpt.

Faculty of Engineering

Alexandria University

#8

عذرا اخى مينا

حلك سيؤدى الى مشكلة

انت تقوم بقص جزء من الكلمة بناءا على رقم الحرف index فى الكلمة

لمقارنة الحرف الاول : x.subString(0,1)

وللثانى : x.subString(1,2)

فماذا تكون لمقارنة الحرف الاخير ؟ لاجظ اننا لانعرف طول الكلمة المدخلة من المستخدم

وماذا لو كانت فارغة null ؟

اعتقد حلى والاخ هويدى افضل

بالتوفيق


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#9

اكيد طبعاً حلك وحل الاخ هويدي افضل كثيراً من حلي لكني اردت مساعدة الاخ The.Eagle بنفس طريقة تفكيره ..

MOHAMED FATHEI كتب:

فماذا تكون لمقارنة الحرف الاخير ؟ لاجظ اننا لانعرف طول الكلمة المدخلة من المستخدم

لمقارنة الحرف الاخير

x.substring(x.length()-1 )

حيث بامكانك ان تعرف طول ال String المدخلة لك باستخدام ال x.length()

MOHAMED FATHEI كتب:

وماذا لو كانت فارغة null ؟

وبالنسبة لل String الفارغة فهي ليست ب null ولكن طولها 0 ونستطيع اختبار ذلك قبل التأكد من تطابق الحروف

تحياتي

--

Mina Fouad

Computer & Systems Engineering Dpt.

Faculty of Engineering

Alexandria University

#10
اقتباس

اكيد طبعاً حلك وحل الاخ هويدي افضل كثيراً من حلي لكني اردت مساعدة الاخ The.Eagle بنفس طريقة تفكيره ..

ليه ؟ انا اقصد اناقشك فى الموضوع لا اقصد التقليل من شأنك او حلك

وما قلته صحيح

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#11

انا لم اقصد مافهمته ..

حلك وحل الاخ هويدي اكثر كفاءة حيث انكم تقارنون حرف ب حرف كما ان ال method x.charAt() بترجع حرف بخلاف ان ال method subString() بترجع String

لكل هذه الاسباب حلك اكثر كفاءة لكني كما اوضحت ف الرد السابق احببت ان اساعد صاحب السؤال بنفس طريقة تفكيره

تحياتي اخي العزيز واعتذر ان كان كلامي قد فُهم خطأً

--

Mina Fouad

Computer & Systems Engineering Dpt.

Faculty of Engineering

Alexandria University

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