۵ سوال اول مسابقه مربوط به فرانتاند و ۵ سوال آخر مربوط به جاوا هستند. شما میتوانید در هر زمینه که مایل به همکاری هستید سوالات مربوطه را حل کنید.
برای آشنایی با قالب صورت سوال در Quera اینجا را مشاهده کنید و برای آشنایی نحوه داوری ارسالها، اینجا را ببینید.
تیم پشتیبانی در ساعت اول و آخر مسابقه آنلاین خواهند بود، و در ۲ ساعت میانی مسابقه هر ۳۰ دقیقه پرسشهای شما پاسخ داده خواهد شد.
نحوهی ورودی و خروجی دادن در سوال کمک به سرور و ساعت شنی بصورت ورودی و خروجی استاندارد (STDIN) است؛ توضیحات بیشتر آن را میتوانید در کلاس کار با Quera مشاهده کنید.
قرار است برنامهای بنویسید که ساخت نمونهها را به عهده بگیرد.
فایلهای برنامه را از source دانلود نمایید.
با توجه به توضیحات زیر، متد init از کلاس Initializer را پیادهسازی کنید.
این متد لیستی از نام کلاسهایی که قرار است بر روی آنها عملیات انجام دهد دریافت میکند. سپس از تمام کلاسهای که دارای Annotation از نوع Instantiate میباشند، یک شی (نمونه) میسازد. دقت کنید که باید از هر نوع کلاس تنها یک بار نمونه ساخته شود. اگر در هنگام گرفتن شی Class یا ساختن نمونه از کلاسی که دارای Annotation مربوطه است خطایی رخ داد، خطایی از نوع InitializeException پرتاب کنید. پس خطاهای دیگر مثل ClassNotFoundException را دریافت نموده و به جای آن خطای گفته شده را پرتاب کنید.
پس از ساختهشدن نمونهها، باید ارتباط بین نمونهها فراهم شود.
فیلدهای مختلفی در کلاسها وجود دارد. برای هر کلاسی که از آن نمونه ساختهایم، اگر فیلدی دارای Annotation از نوع Connect است، باید مقدار آن برابر یک شی از کلاسی شود که نشاندهندهی تایپ آن فیلد است و از آن نمونه ساختهایم. اگر کلاس موردنظر یا نمونهای از آن وجود نداشت، خطایی از نوع InitializeException پرتاب کنید. پس خطاهای دیگر مثل ClassNotFoundException را دریافت نموده و به جای آن خطای گفته شده را پرتاب کنید.
برای حل سوال به نکات زیر توجه کنید:
یک فایل zip است که وقتی آن را باز میکنیم فقط فایل Initializer.java را ببینیم.