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

لدي مشكلة ياشباب

بدأه حمزة علي في 20 أغسطس 2008 · 11 رد · 1,038 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام يا شباب

المشكلة الذي لدي

لدي Object array لثلاثة اشخاص

Person[3] newperson

اريد ان اسوي return type لهذا الكائن

Person[] getperson()

{

return newPerson

}

علشان اضيفه الى toString Method

ويسترجع الثلاثة الاشخاص

#2

طرحك غير واضح

هل يمكن أن تعيد شرح ما تريد بعبارات أوضح(و لا تنسى استعمال تنسيقات Code لتتضح الأمور أكثر :))

#3
djug كتب:
طرحك غير واضح

هل يمكن أن تعيد شرح ما تريد بعبارات أوضح(و لا تنسى استعمال تنسيقات Code لتتضح الأمور أكثر :) )

المشكلة لما استعرض الميثود toString يجيبلي فقط الادريس مش القيمة

Person[] theperson = new Person[3]

public Person[] getPerson()

{

return theperson;

}

String toString()

{

String s = getPerson();

return s;

}

#4

لكن قبل حل المشكلة التي تريدها

يجب تصحيح أخطاء في الكود الذي أرفقته

في الدالة toString

لديك السطر التالي

String s = getPerson();

مع العلم أن GetPerson ترجع جدولا لـ Person

و s عبارة عن String

هذا من جهة

إذا أردت أن تقوم الدالة ToString بعرض محتوى الجدول (مثلا أسماء الأشخاص)

فيجب عليك عملة حلقة تكرارية (على جميع عناصر الجدول) و تضيف في كل مرة اسم شخص إلى المتغير s ثم تقوم بطباعة هذا المتغير

قم بتصحيح الكود و أعد إرساله كاملا (حتى محتوى الـ class Person قم بإرساله)

تم تعديل هذه المشاركة بواسطة djug في 20 أغسطس 2008 في 14:34

#5

داخل الداله toString ، قم بارجاع المتغيرات الموجوده لديك في الكلاسات والتي تريد طباعتها

مثلا الأسم والعمر :

public String toString()
{
return getName() + "  :  " +  getAge() + "\n";
}

طبعا باعتبار أن لديك دوال بهذه الأسم ... أو يمكنك طباعه المتغيرات مباشره ..

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#6
djug كتب:
لكن قبل حل المشكلة التي تريدها

يجب تصحيح أخطاء في الكود الذي أرفقته

في الدالة toString

لديك السطر التالي

String s = getPerson();

مع العلم أن GetPerson ترجع جدولا لـ Person

و s عبارة عن String

هذا من جهة

إذا أردت أن تقوم الدالة ToString بعرض محتوى الجدول (مثلا أسماء الأشخاص)

فيجب عليك عملة حلقة تكرارية (على جميع عناصر الجدول) و تضيف في كل مرة اسم شخص إلى المتغير s ثم تقوم بطباعة هذا المتغير

قم بتصحيح الكود و أعد إرساله كاملا (حتى محتوى الـ class Person قم بإرساله)

Warden[] prisonerWarden;

 prisonerWarden = new Warden[2];

 public void setPrisonerWarden(Warden newWarden)
 {
	for (int i = 0; i<2; i++)
	{
	  if (prisonerWarden!= null)
	  prisonerWarden = newWarden;
	  break;}
 }

 public Warden getPrisoner()
 {
  for (int i = 0; i<2; i++)
	{
	  return prisonerWarden;
	}
	return null;
 }


 public String toString()
 {
  String s =super.toString()+"Level Security: "+getLevelSecurity()+"Warden: "+getPrisoner().getIdentifiedNumber()+"\n"+getFirstName();

	 return s; 
 }

هذه الاكواد لدي
بيسوي لي Exception in thread "main" java.lang.NullPointerException
ايش الحل
ما نوع الreturn type 
هل اسوي 
Person[]
or Person

تم تعديل هذه المشاركة بواسطة حمزة علي في 20 أغسطس 2008 في 15:24

#7
اقتباس
ما نوع الreturn type

هل اسوي

Person[]

or Person

لا هذه و لاتلك

قم بتصحيح الكود وفقا لما أشير إليه في المشاركتين 4 و 5

يجب عمل دالة تقوم باستخلاص محتوى الجدول

#8

اريد ان اضيف لكل طالب استاذين الكود يضيف لكن لما اريد

سويت حلقة لاسترجاع ذلك الاستاذ

ارسد ان اضيف الاستاذ الى كلاس الطالب

واستعرض اسمه و عمره

Class Student{

Teacher []theteacher

theteacher = new Teacher [2];

public void setTeacherStuden (Teacher newTeacher)

{

for (int i = 0; i<2; i++)

{

if (theteacher != null)

theteacher = newTeacher;

break;}

}

public Teavher getTeacher()

{

for (int i = 0; i<2; i++)

{

return theteacher ;// هنا الحلقة

}

return null;

}

public String toString()

{

String s ="Teacher: "\n"+getName()+"\nAge: "+getAge;

return s;

}

}

Class Teacher {

String name;

Int age;

name(String n, int a)

{

FirstName = n;

age = a;

}

String getName()

{

return n;

}

int getAge()

{

return age;

}

String toString()

{

String a = "Name: "+getName+"Age: "+getAge;

return a;

}

}

#9

هناك حلان أو بالأحرى طريقتان لكتابة نفس الكود

الأول

  public String getTeacher()
  {
   String result= new String("");
   for (int i = 0; i<2; i++)
   {
   result+= "techer name:"+theteacher .name+"  techer age: "+theteacher .age+"\n";

   }
   return result;
  }

أو بما أنك قد قمت بإعادة تعريف الدالة ToString

public String getTeacher()
  {
   String result= new String("");
   for (int i = 0; i<2; i++)
   {
   result+= theteacher .toString()+"\n";

   }
   return result;
  }

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

#10

الطريقة مشيت تمام

في مشكلة صغيرة عندما اضيف المدرس

public void setTeacherStuden (Teacher newTeacher)
{
for (int i = 0; i<2; i++)
{
if (theteacher != null)
theteacher  = newTeacher;
break;}
}

الى هذه الدالة يضيف لي نفس المدرس

تم تعديل هذه المشاركة بواسطة حمزة علي في 20 أغسطس 2008 في 16:55

#11

فعلا هذا ما يقوم به الكود الذي أرفقته

قم بإضافة كل أستاذ لوحده

theteacher [0] = newTeacher1;
theteacher [0] = newTeacher2;

أم أنك تريد أن تمرر للدالة جدولا من الأساتذة يقوم بإضافتها ؟؟

تم تعديل هذه المشاركة بواسطة djug في 20 أغسطس 2008 في 16:59

#12
djug كتب:
فعلا هذا ما يقوم به الكود الذي أرفقته

قم بإضافة كل أستاذ لوحده

theteacher [0] = newTeacher1;
theteacher [0] = newTeacher2;

أم أنك تريد أن تمرر للدالة جدولا من الأساتذة يقوم بإضافتها ؟؟

جزيت أخي خيرا

عملت الكودات معي

الف شكر

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

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

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

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

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