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

مشكلة اثناء البحث داخل مصفوفه

بدأه شاب مسلم في 7 أكتوبر 2008 · 3 رد · 704 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

لدي مصفوفه مكونه من 17 عنصر

اريد من البرنامج اذا وجد العنصر رقم 10 مطابق لما اعطيه من string

يذهب ويتأكد ان العنصر رقم 6 يحتوى على قيمه معينه

مثال

if (verbGender.equals("M"))
				{				
					for(int a = 0; a < allAttribute.length; a++)			
					{

						if (allAttribute[a].equals(ProperNoun))
						{							
							if (allAttribute[a-4].equals("F"))
							{
// do some thing
}

المشكله انه (allAttribute[a-4]

تعمل مشكله

وتكون المشكله هكذا

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
	at MyCode.GenerationLS.GenerationLS1(GenerationLS.java:252)

فهل من تصويب بارك الله فيكم

تم تعديل هذه المشاركة بواسطة شاب مسلم في 7 أكتوبر 2008 في 17:58

#2

لما a =0 فإن a-4 = -4

و المراتب في الجداول تبدأ من الصفر

لم أفهم جيدا ما تريد عمله في البرنامج لهذا اكتفيت بهذا التوضيح

لو تعيد الشرح فلربما نستطيع مساعدتك

محاولة سريعة:

تريد أن نقارن الخانة الموجودة في الترتيب i مع الخانة الموجودة في الترتيب i-4

سنحصل على نفس النتيجة لو قارنا الخانة j مع الخانة j+4

يصبح الكود كالتالي:

if (verbGender.equals("M"))
				{				
					for(int a = 0; a < allAttribute.length-4; a++)			
					{

						if (allAttribute[a].equals("F"))
						{							
							if (allAttribute[a+4].equals(ProperNoun))
							{
// do some thing
}

تم تعديل هذه المشاركة بواسطة djug في 7 أكتوبر 2008 في 18:21

#3

اخي الكريم بارك الله فيك

ما اريده بالضبط هو اني اريد ان اقارن قيمه موجوده لدي معلومة سلفا

هل هي مثل القيمة الموجوده في الترتيب i-4

تم تعديل هذه المشاركة بواسطة شاب مسلم في 7 أكتوبر 2008 في 18:24

#4

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

لقد حللت المشكله

وقد عكست طريقه البحث

if (verbGender.equals("F"))
				{	
					//int t = 
					for(int a = 0; a < allAttribute.length - 4; a++)			
					{
						if (allAttribute[a].equals("M"))
						{
							if (allAttribute[a+4].equals(ProperNoun))
							{
							}

اسال الله ان يكتب لك الاجر

فلقد جائتني فكرة الحل مما كتبته اعلاه وان كان حلك غير صحيح

ولكن ارشدني إلى الحل الصحيح

حيث علمت ان a+4 هي التي يجب ان استخدمها

بدلا من a-4

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