המחלקה MyTime מייצגת זמן, ולה שתי תכונות:
myMinute – מספר שלם חיובי בין 0 ל־ 59 (כולל), המייצג דקהmyHour – מספר שלם חיובי בין 7 ל־ 23 (כולל), המייצג שעההניחו שקיימות פעולות get/Get ו־ set/Set עבור תכונות המחלקה, ופעולה בונה המקבלת ערכים עבור תכונות המחלקה. לפניכם ממשק המחלקה. אפשר להשתמש בפעולות המחלקה בלי לממש אותן.
public boolean before(MyTime other) - הפעולה מחזירה true אם זמן העצם הנוכחי מוקדם מזמן העצם other , אחרת )כלומר אם הזמן שווה לו או מאוחר ממנו( הפעולה מחזירה false
public int diff(MyTime other) - הפעולה מחזירה את ההפרש בדקות בערך מוחלט בין זמן העצם הנוכחי ובין זמן העצם other
המחלקה Parking מציגה מידע על מכונית שחנתה בחניון, ולה שלוש תכונות:
• id – מספר לוחית רישוי של המכונית, מטיפוס מחרוזת • in – זמן כניסת המכונית לחניון, מטיפוס MyTime • out – זמן יציאת המכונית מן החניון, מטיפוס MyTime הניחו שקיימות פעולות Get/get ו־ Set/set עבור תכונות המחלקה, ושתכונות המחלקה אינן null . נתון מערך חד־ממדי cars מטיפוס Parking המכיל מידע על כל המכוניות שחנו בחניון ביממה מסוימת )החניון נפתח ב־ 07:00 ונסגר ב־ 23:59(. המערך אינו ממוין ואינו מכיל ערכי null
כתבו פעולה חיצונית ששמה first בשפת Java או First בשפת C#, המקבלת את המערך cars, ומדפיסה את מספר לוחית הרישוי של המכונית שנכנסה ראשונה לחניון.
הניחו שאין שתי מכוניות שנכנסו לחניון בדיוק באותו הזמן.
המחיר בחניון נקבע על פי משך החניה. בשעתיים הראשונות )120 דקות( החניה חינם והחל מהדקה ה־ 121 התעריף הוא שקל אחד לכל דקת חניה
כתבו פעולה פנימית במחלקה Parking ששמה total בשפת Java או Total בשפת C#, המחזירה את סך כל מספר הדקות שהמכונית חנתה בחניון.
(2) כתבו פעולה חיצונית ששמה sumMoney בשפת Java או SumMoney בשפת C#, המקבלת את המערך cars, ומחזירה את הסכום הכולל ששילמו כל בעלי המכוניות.
אפשר להשתמש בפעולה שכתבתם בסעיף ב_1.
המחלקה MyTime מייצגת זמן, ולה שתי תכונות:
myMinute – מספר שלם חיובי בין 0 ל־ 59 (כולל), המייצג דקהmyHour – מספר שלם חיובי בין 7 ל־ 23 (כולל), המייצג שעההניחו שקיימות פעולות get/Get ו־ set/Set עבור תכונות המחלקה, ופעולה בונה המקבלת ערכים עבור תכונות המחלקה. לפניכם ממשק המחלקה. אפשר להשתמש בפעולות המחלקה בלי לממש אותן.
public boolean before(MyTime other) - הפעולה מחזירה true אם זמן העצם הנוכחי מוקדם מזמן העצם other , אחרת )כלומר אם הזמן שווה לו או מאוחר ממנו( הפעולה מחזירה false
public int diff(MyTime other) - הפעולה מחזירה את ההפרש בדקות בערך מוחלט בין זמן העצם הנוכחי ובין זמן העצם other
המחלקה Parking מציגה מידע על מכונית שחנתה בחניון, ולה שלוש תכונות:
• id – מספר לוחית רישוי של המכונית, מטיפוס מחרוזת • in – זמן כניסת המכונית לחניון, מטיפוס MyTime • out – זמן יציאת המכונית מן החניון, מטיפוס MyTime הניחו שקיימות פעולות Get/get ו־ Set/set עבור תכונות המחלקה, ושתכונות המחלקה אינן null . נתון מערך חד־ממדי cars מטיפוס Parking המכיל מידע על כל המכוניות שחנו בחניון ביממה מסוימת )החניון נפתח ב־ 07:00 ונסגר ב־ 23:59(. המערך אינו ממוין ואינו מכיל ערכי null
כתבו פעולה חיצונית ששמה first בשפת Java או First בשפת C#, המקבלת את המערך cars, ומדפיסה את מספר לוחית הרישוי של המכונית שנכנסה ראשונה לחניון.
הניחו שאין שתי מכוניות שנכנסו לחניון בדיוק באותו הזמן.
המחיר בחניון נקבע על פי משך החניה. בשעתיים הראשונות )120 דקות( החניה חינם והחל מהדקה ה־ 121 התעריף הוא שקל אחד לכל דקת חניה
כתבו פעולה פנימית במחלקה Parking ששמה total בשפת Java או Total בשפת C#, המחזירה את סך כל מספר הדקות שהמכונית חנתה בחניון.
(2) כתבו פעולה חיצונית ששמה sumMoney בשפת Java או SumMoney בשפת C#, המקבלת את המערך cars, ומחזירה את הסכום הכולל ששילמו כל בעלי המכוניות.
אפשר להשתמש בפעולה שכתבתם בסעיף ב_1.