سلام يا شباب
المشكلة الذي لدي
لدي Object array لثلاثة اشخاص
Person[3] newperson
اريد ان اسوي return type لهذا الكائن
Person[] getperson()
{
return newPerson
}
علشان اضيفه الى toString Method
ويسترجع الثلاثة الاشخاص
سلام يا شباب
المشكلة الذي لدي
لدي Object array لثلاثة اشخاص
Person[3] newperson
اريد ان اسوي return type لهذا الكائن
Person[] getperson()
{
return newPerson
}
علشان اضيفه الى toString Method
ويسترجع الثلاثة الاشخاص
طرحك غير واضح
هل يمكن أن تعيد شرح ما تريد بعبارات أوضح(و لا تنسى استعمال تنسيقات Code لتتضح الأمور أكثر :))
djug كتب:طرحك غير واضحهل يمكن أن تعيد شرح ما تريد بعبارات أوضح(و لا تنسى استعمال تنسيقات Code لتتضح الأمور أكثر :) )
المشكلة لما استعرض الميثود toString يجيبلي فقط الادريس مش القيمة
Person[] theperson = new Person[3]
public Person[] getPerson()
{
return theperson;
}
String toString()
{
String s = getPerson();
return s;
}
لكن قبل حل المشكلة التي تريدها
يجب تصحيح أخطاء في الكود الذي أرفقته
في الدالة toString
لديك السطر التالي
String s = getPerson();
مع العلم أن GetPerson ترجع جدولا لـ Person
و s عبارة عن String
هذا من جهة
إذا أردت أن تقوم الدالة ToString بعرض محتوى الجدول (مثلا أسماء الأشخاص)
فيجب عليك عملة حلقة تكرارية (على جميع عناصر الجدول) و تضيف في كل مرة اسم شخص إلى المتغير s ثم تقوم بطباعة هذا المتغير
قم بتصحيح الكود و أعد إرساله كاملا (حتى محتوى الـ class Person قم بإرساله)
تم تعديل هذه المشاركة بواسطة djug في 20 أغسطس 2008 في 14:34
داخل الداله 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
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
اقتباسما نوع الreturn typeهل اسوي
Person[]
or Person
لا هذه و لاتلك
قم بتصحيح الكود وفقا لما أشير إليه في المشاركتين 4 و 5
يجب عمل دالة تقوم باستخلاص محتوى الجدول
اريد ان اضيف لكل طالب استاذين الكود يضيف لكن لما اريد
سويت حلقة لاسترجاع ذلك الاستاذ
ارسد ان اضيف الاستاذ الى كلاس الطالب
واستعرض اسمه و عمره
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;
}
}
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;
}
}
هناك حلان أو بالأحرى طريقتان لكتابة نفس الكود
الأول
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
الطريقة مشيت تمام
في مشكلة صغيرة عندما اضيف المدرس
public void setTeacherStuden (Teacher newTeacher)
{
for (int i = 0; i<2; i++)
{
if (theteacher != null)
theteacher = newTeacher;
break;}
}الى هذه الدالة يضيف لي نفس المدرس
تم تعديل هذه المشاركة بواسطة حمزة علي في 20 أغسطس 2008 في 16:55
فعلا هذا ما يقوم به الكود الذي أرفقته
قم بإضافة كل أستاذ لوحده
theteacher [0] = newTeacher1; theteacher [0] = newTeacher2;
أم أنك تريد أن تمرر للدالة جدولا من الأساتذة يقوم بإضافتها ؟؟
تم تعديل هذه المشاركة بواسطة djug في 20 أغسطس 2008 في 16:59
djug كتب:فعلا هذا ما يقوم به الكود الذي أرفقتهقم بإضافة كل أستاذ لوحده
theteacher [0] = newTeacher1; theteacher [0] = newTeacher2;أم أنك تريد أن تمرر للدالة جدولا من الأساتذة يقوم بإضافتها ؟؟
جزيت أخي خيرا
عملت الكودات معي
الف شكر
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…