جافا لحلقة لخلق كمية ن من وجوه
سؤال
وانا بحاجة الى بعض المساعدة. أريد أن إنشاء لحلقة إنشاء عدد ن من وجوه فئة، ومن ثم يضيفها إلى arraylist. شيء من هذا القبيل:
//Player is a custom class
ArrayList<Player> numberofPlayersArray;
numberofPlayersArray = new ArrayList<Player>();
//n is a variable for the number of Player class objects that I want to create
for(int i = 0; i < n; i++)
{
//this is what I can come up with but I am missing something
Player p;
p = new Player
numberofPlayersArray.add(p);
}
وأي مساعدة سيكون موضع تقدير
المحلول
//Player is a custom class
ArrayList<Player> numberofPlayersArray = new ArrayList<Player>(n);
//n is a variable for the number of Player class objects that I want to create
for(int i = 0; i < n; i++) {
//this is what I can come up with but I am missing something
Player p = new Player();
numberofPlayersArray.add(p);
}
ملحوظة أنه من الأفضل تهيئة ArrayList
مع الحجم، وإذا هو معروف (كما في حالتك)
نصائح أخرى
والتعليمات البرمجية الخاصة بك تبدو صحيحة نحويا مع استثناء واحد.
تغيير
p = new Player
إلى
p = new Player();
وأفترض يتم تعريف متغير n
وتهيئة ويتم تعريف فئة Player
مع منشئ argless.
وأنا لا أرى مشكلة هنا، فقط تفعل
p = new Player();
(ولكن هذا قد يكون مجرد خطأ مطبعي)، وسوف يتم ملؤها playerlist مع ن الأجسام لاعب مختلف.
ملحوظة، أنني مجرد افتراض، كنت تريد استخدام منشئ الافتراضي لاعب.
وتسمية تلميح: يجب أن لا تسمية قائمة "..Array، إلا إذا كنت تريد أن تخلط بين نفسك؛) مجرد تسميته" ..List '
لا تنس أن رمز إلى واجهة (بدلا من فئة محددة).
List<Player> numberofPlayers = new ArrayList<Player>(n);
ونسيان للقيام بذلك (أو لا يعرفون عن ذلك) هو خطأ مبتدئين المشترك.
إذا قررت التحول إلى تنفيذ قائمة البديل في وقت لاحق (قائمة متصلة أو ربما مجموعة Google أو قائمة اباتشي العموم مجموعة) أنك لن تضطر إلى تغيير كل إشارة إلى قائمة - فقط تخصيص الأولي