المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: لدي مشكلة ياشباب
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات لغات البرمجة العام > منتدى مبرمجي لغة جافا JAVA
حمزة علي
سلام يا شباب

المشكلة الذي لدي
لدي Object array لثلاثة اشخاص
Person[3] newperson
اريد ان اسوي return type لهذا الكائن
Person[] getperson()
{
return newPerson
}

علشان اضيفه الى toString Method
ويسترجع الثلاثة الاشخاص



djug
طرحك غير واضح

هل يمكن أن تعيد شرح ما تريد بعبارات أوضح(و لا تنسى استعمال تنسيقات Code لتتضح الأمور أكثر regular_smile.gif)
حمزة علي
إقتباس(djug @ Aug 20 2008, 01:16 PM) *
طرحك غير واضح

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



المشكلة لما استعرض الميثود toString يجيبلي فقط الادريس مش القيمة
Person[] theperson = new Person[3]
public Person[] getPerson()
{
return theperson;
}

String toString()
{
String s = getPerson();
return s;
}
djug
لكن قبل حل المشكلة التي تريدها

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

في الدالة toString

لديك السطر التالي
كود
String s = getPerson();

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

و s عبارة عن String

هذا من جهة

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

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

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

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

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

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



طبعا باعتبار أن لديك دوال بهذه الأسم ... أو يمكنك طباعه المتغيرات مباشره ..
حمزة علي
إقتباس(djug @ Aug 20 2008, 02:31 PM) *
لكن قبل حل المشكلة التي تريدها

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

في الدالة 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[i]!= null)
      prisonerWarden[i] = newWarden;
      break;}
}

public Warden getPrisoner()
{
  for (int i = 0; i<2; i++)
    {
      return prisonerWarden[i];
    }
    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
djug
إقتباس
ما نوع ال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 [i]!= null)
theteacher [i] = newTeacher;
break;}
}

public Teavher getTeacher()
{
for (int i = 0; i<2; i++)
{
return theteacher [i];// هنا الحلقة
}
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;
}
}
djug
هناك حلان أو بالأحرى طريقتان لكتابة نفس الكود

الأول
كود
  public String getTeacher()
  {
   String result= new String("");
   for (int i = 0; i<2; i++)
   {
   result+= "techer name:"+theteacher [i].name+"  techer age: "+theteacher [i].age+"\n";
  
   }
   return result;
  }


أو بما أنك قد قمت بإعادة تعريف الدالة ToString
كود
public String getTeacher()
  {
   String result= new String("");
   for (int i = 0; i<2; i++)
   {
   result+= theteacher [i].toString()+"\n";
  
   }
   return result;
  }
حمزة علي
الطريقة مشيت تمام
في مشكلة صغيرة عندما اضيف المدرس
كود
[size=3]public void setTeacherStuden (Teacher newTeacher)
{
for (int i = 0; i<2; i++)
{
if (theteacher [i]!= null)
theteacher [i] = newTeacher;
break;}
}
[/size]
الى هذه الدالة يضيف لي نفس المدرس
djug
فعلا هذا ما يقوم به الكود الذي أرفقته

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

كود
theteacher [0] = newTeacher1;
theteacher [0] = newTeacher2;

أم أنك تريد أن تمرر للدالة جدولا من الأساتذة يقوم بإضافتها ؟؟
حمزة علي
إقتباس(djug @ Aug 20 2008, 04:58 PM) *
فعلا هذا ما يقوم به الكود الذي أرفقته

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

كود
theteacher [0] = newTeacher1;
theteacher [0] = newTeacher2;

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



جزيت أخي خيرا
عملت الكودات معي
الف شكر
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2008 Invision Power Services, Inc.