رسول مدنی
رسول مدنی
خواندن ۳ دقیقه·۶ ماه پیش

تمرین جاوا - سیستم مدیریت ورزش



بسم الله الرحمن الرحیم

تمرین جاوا - سیستم مدیریت ورزش


در اين تمرين مي خواهيم ساختار كلاسهای نشان داده شده در زير را پياده سازی كنيم .


جاوا شی گرایی
جاوا شی گرایی


اگر اسامی در عکس ناخواناست در زیر می توانید ببینید .

Player

sport: String team: String position: String

first: String

last: String

BaseballPlayer

atBats: int

hits: int

battingAverage (): double


Pitcher

innings: double

earnedRuns: int

earnedRunAverage (): double


SoccerPlayer

minutes: int

goals: int

goalsPerGame (): double


Goalie

goalsAllowed: int

averageGoalsAllowed: double




علاوه بر کلاسهای عنوان شده ، شما به یک کلاس main با متد main هم نیاز خواهید داشت که اطلاعات یک مجموعه بازیکن را از فایل ورودی players.txt که به شما داده شده و با توجه به فایل فرمت (data format) می خواند .

با توجه به هر خط خوانده شده از فایل ورودی باید از یکی از کلاسهای Pitcher، BaseballPlayer SoccerPlayer یا Goaline یک شی بسازید .

این اشیا را در یک آرایه از نوع Player نگهداری کنید.


استفاده از کلمه کلیدی super

در سازنده کلاس هایی که پیاده سازی میکنید مشابه با کلاس های داده شده ، به صورت مناسب از کلمه super باید استفاه شود.


بازنویسی متد toString

علاوه بر متدهای نشان داده شده در ساختار کلاسها ، همه کلاسها یک متد toString هم دارند که در هر یک از کلاسها برای چاپ مشخصات و ویژگی های بازیکنان استفاده می شود. این متد را برای هر کلاس به درستی بازنویسی کنید برای این منظور باید موارد زیر لحاظ شود.

۱ - برای کلاس Goalie باید مقدار averageGoalsallowed و برای کلاس SoccerPlayer باید مقدار goalsperGame با استفاده از روابط زیر در متدهای مربوطه محاسبه شده و در toString بعد از فراخوانی مورد استفاده قرار بگیرند.

goals per game = (goals/minutes) * 90.

average goals allowed = (goalsAllowed/minutes) * 90

۲. مقادیر خواسته شده در آیتم بالا باید به فرمت سه رقم اعشار برگردانده شوند. به این منظور، میخواهیم از متد format از کلاس String استفاده نماییم برای آشنایی با نحوه استفاده از این متد از جستجو در اینترنت استفاده کرده و همچنین میتوانید مشابه با متد toString در کلاسهایی که در اختیارتان قرار گرفته عمل کنید متد format برای تعیین فرمت داده استفاده شده و مشابه با printf که قبلا در مبانی برنامه نویسی با آن آشنا شدید کار میکند فقط به جای ارسال نتیجه به خروجی آن را به صورت یک رشته برمی گرداند.

استفاده از اینترفیس

فرض کنید دو اینترفیس به نامهای Defend و shoot داریم که هر یک فقط یک متد به ترتیب به نام های

canDefend و canShoot

را تعریف می کنند در پیاده سازی کلاس soccerPlayer اینترفیس Shoot و در کلاس BaseballPlayer اینترفیس Defend را پیاده سازی کنید پیاده سازی متدها فقط شامل مقداردهی به یک مقدار بولین به نام canDefend و canShoot خواهد بود که با هر بار فراخوانی با احتمال ۰٫۵ مقدار true و در غیر این صورت مقدار false خواهد داشت برای انجام این فرآیند از تولید عدد تصادفی در جاوا با توزیع یکنواخت استفاده کنید مقدار این بولین باید در متدهای toString این دو کلاس به عنوان بخشی از خروجی برگدانده شود.

خروجی

در متد main از کلاس main باید با استفاده از چند ریختی و آرایه ای که از اشیای player دارید، متد toString هر شی را فراخوانی کرده و علاوه بر متد toString هر شی متد toString پدر هر شی را نیز فراخوانی نمایید و سپس مقادیر حاصل را خط به خط در یک فایل خروجی output.txt چاپ نمایید.




کدهای حل شده این تمرین در گیتهاب :

https://github.com/RasoulMadani/sport-manager-system-using-java-oop






برنامه نویسیتمرین جاواجاواشی گرایی
برنامه نویس جاوا
شاید از این پست‌ها خوشتان بیاید