החנות "חלץ לך חולצה" מוכרת חולצות של מותגים שונים באמצעות האינטרנט. לשם כך הוגדרו מחלקות Shirt ו-Storage.
המחלקה Shirt מייצגת חולצה. למחלקה ארבע התכונות הבאות:
- קוד מתנה – code – מטיפוס מספר שלם, int
- שם מותג – brand – מטיפוס מחרוזת, String
- מחיר – price – מטיפוס ממשי, double
- סוג חולצה (למי מיועדת החולצה) – type – מטיפוס תו, char
התכונה יכולה לקבל אחת משלוש אפשרויות: 'F' – חולצות לנשים, 'M' – לגברים, 'K' – לילדים. במחלקה הוגדרו פעולה בונה ופעולות get לכל תכונה.
(א)כתבו פעולה `void setType(char type)`. הפעולה מעדכנת את התכונה type בהתאם לפרמטר.
אם הפרמטר שהפעולה מקבלת אינו תקין, העדכון לא מתבצע.
אם הפרמטר שהפעולה מקבלת אינו תקין, העדכון לא מתבצע.
(ב)המחלקה Storage מייצגת מחסן של חנות. למחלקה שתי התכונות הבאות:
- מערך חולצות – shirts – מערך עצמים מסוג Shirt
- מערך מותגים שהחנות מוכרת – brands – מערך של מחרוזות
כתבו במחלקה Storage פעולה המקבלת שם מותג וסוג חולצה. הפעולה תחזיר מערך חולצות של אותו מותג וסוג.
כותרת הפעולה:
`public Shirt[] shirtsByBrand(String brand, char type)`
אם בחנות אין חולצות מתאימות, הפעולה תחזיר ערך null.
- מערך חולצות – shirts – מערך עצמים מסוג Shirt
- מערך מותגים שהחנות מוכרת – brands – מערך של מחרוזות
כתבו במחלקה Storage פעולה המקבלת שם מותג וסוג חולצה. הפעולה תחזיר מערך חולצות של אותו מותג וסוג.
כותרת הפעולה:
`public Shirt[] shirtsByBrand(String brand, char type)`
אם בחנות אין חולצות מתאימות, הפעולה תחזיר ערך null.
(ג)החנות רוצה להכריז על מבצע המיועד למשפחות: כל מי שמזמין שתי חולצות של אותו מותג (אחת לנשים ואחרת לגברים), יכול לקבל חולצה לילד (של אותו המותג) במתנה.
כתבו במחלקה Storage פעולה המדפיסה שמות של כל המותגים אשר יוכלו להשתתף במבצע.
כותרת הפעולה:
`public void print()`
כתבו במחלקה Storage פעולה המדפיסה שמות של כל המותגים אשר יוכלו להשתתף במבצע.
כותרת הפעולה:
`public void print()`
(ד)מהי סיבוכיות זמן הריצה של הפעולה שכתבת בסעיפים ב' ו-ג'? הסבירו את תשובתכם.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות