בחברת "הפלסטיק הקסום" מייצרים קופסאות לאחסון בצבעים שונים ובגדלים שונים. לחלק מהקופסאות יש מכסה הרמטי.
בחברת "הפלסטיק הקסום" מייצרים קופסאות לאחסון בצבעים שונים ובגדלים שונים. לחלק מהקופסאות יש מכסה הרמטי.
למחלקת קופסת האחסון StorageBox יש שש תכונות:
- צבע – color, מטיפוס מחרוזת – String
- אורך – length, מטיפוס מספר שלם – int
- רוחב – width, מטיפוס מספר שלם – int
- גובה – height, מטיפוס מספר שלם – int
- מחיר – cost, מטיפוס מספר ממשי – double
- יש מכסה – hasCover, מטיפוס בוליאני – boolean (יש מכסה – true, אין מכסה – false)
במחלקה StorageBox הוגדרה פעולה בונה (בנאי, constructor) המקבלת פרמטר של כל תכונה וקובעת את הערכים של תכונות העצם. המחלקה כוללת פעולות get/set לכל אחת מהתכונות.
כתבו פעולה בונה המייצרת קופסה בצבע לבן (white), ללא מכסה, שכל הממדים שלה (אורך, רוחב וגובה) הם מספרים אקראיים בין 30 ל-100 (כולל). כותרת הפעולה:
public StorageBox(double cost)
כתבו פעולה חיצונית המקבלת מערך הפניות לעצמים מסוג StorageBox בשם arr וצבע color. הפעולה תחזיר מספר קופסאות בצבע color שאין להן מכסה. כותרת הפעולה:
public static int noCover(StorageBox[] arr, String color)
הנחה: כל תא במערך מכיל הפניה לעצם מסוג StorageBox ואין תאים במערך שערכם שווה ל-null.
מערך של קופסאות נקרא "סט אחיד" אם כל הקופסאות בו הן באותו הצבע ולכולן יש מכסה או לכולן אין מכסה. כתבו פעולה חיצונית המקבלת מערך הפניות לעצמים מסוג StorageBox בשם arr. הפעולה תבדוק אם המערך מייצג "סט אחיד". אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. כותרת הפעולה:
public static boolean isUnique(StorageBox[] arr)
הנחה: כל תא במערך מכיל הפניה לעצם מסוג StorageBox ואין תאים במערך שערכם שווה ל-null.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.