تمرین حلقه


کلاسی با نام LoopPractice بسازید که عدد n را از کاربر (ورودی استاندارد) بگیرد و مجموع اعداد 1 تا n را محاسبه و چاپ کند (در خروجی استاندارد). به عنوان مثال اگر کاربر 5 را وارد کند، خروجی برنامه 15 خواهد بود. دقت کنید که هیچ خروجی دیگری غیر از آن‌چه گفته شد، نباید چاپ شود و یا هیچ ورودی دیگری دریافت نشود. مثلاً قبل از چاپ مجموع، هیچ println دیگری نباید در برنامه باشد.

آن چه باید آپلود کنید: فقط فایل LoopPractice.java دقت کنید که این کلاس نباید در هیچ package ای باشد.

کالکشن


‫بسته (package) با عنوان ir.javacup.contest.collections را دانلود کنید و واسطهای MapUtil و ListUtil را ببینید. کلاس‌های MapUtilImpl و ListUtilImpl را تعریف کنید که به ترتیب واسط‌های فوق را پیاده‌سازی (implement) می‌کنند. توضیح درباره متدهای این کلاس‌ها:

  • متد ListUtil.uniques یک لیست به عنوان پارامتر می‌گیرد و لیستی برمی‌گرداند که فقط شامل مقادیر یکتا (غیرتکراری) از پارامترش است. به ازای پارامتری که null یا لیست خالی باشد، این متد باید null برگرداند.
  • متد MapUtil.frequency یک لیست به عنوان پارامتر می‌گیرد و یک Map برمی‌گرداند که در آن، به ازای هر عضو پارامتر یک سطر دارد. ستون اول خروجی، یکی از مقادیر موجود در پارامتر است و ستون دوم تعداد تکرار همان مقدار در پارامتر است. اگر پارامتر این متد null یا خالی باشد، این متد باید null برگرداند.

آن چه باید آپلود کنید: یک فایل زیپ با نام q3.zip شامل بسته‌ی ir.javacup.contest.collections . (وقتی این فایل زیپ را باز می‌کنیم، فقط دقیقاً شاخه‌ی ir را ببینیم)