המשימה
נתונה המחלקה Product עם שתי תכונות פרטיות: שם ומחיר.
השלם את המחלקה, ואז כתוב **שתי פעולות חיצוניות** (סטטיות) שמקבלות
מערך של מוצרים:
1. פעולה שמחזירה את המוצר היקר ביותר.
2. פעולה שמקבלת גם מחיר סף, ומחזירה כמה מוצרים יקרים ממנו.
הנחיות:
• פעולה חיצונית אינה יכולה לגשת לתכונות הפרטיות ישירות — היא חייבת
לעבור דרך הפעולות המאחזרות. זו הנקודה של התרגיל.
• אתחל את "היקר ביותר" לאיבר הראשון במערך, לא ל-null ולא למחיר 0.
• אפשר להניח שהמערך אינו ריק בפעולה הראשונה.
• השוואת מחירים היא השוואת מספרים; אל תשווה שמות.
```ds:table
{"title":"המוצרים שבדוגמה","rows":[["שם","מחיר"],["Pen","12.5"],["Book","89.0"],["Bag","150.0"],["Cup","30.0"]]}
```
קוד הפתיחה
class Product {
private String name;
private double price;
public Product(String name, double price) {
// אתחל את התכונות
}
public String getName() {
return ""; // החזר את name
}
public double getPrice() {
return 0; // החזר את price
}
}
public class Main {
/** מחזירה את המוצר היקר ביותר במערך. */
public static Product mostExpensive(Product[] arr) {
// כתוב את הפתרון כאן
return arr[0]; // מציב זמני — כדי שהשלד ירוץ לפני שתכתוב
}
/** מחזירה כמה מוצרים במערך יקרים ממש מ-limit. */
public static int countAbove(Product[] arr, double limit) {
// כתוב את הפתרון כאן
return 0;
}
public static void main(String[] args) {
Product[] arr = {
new Product("Pen", 12.5),
new Product("Book", 89.0),
new Product("Bag", 150.0),
new Product("Cup", 30.0)
};
System.out.println(mostExpensive(arr).getName()); // Bag
System.out.println(countAbove(arr, 20.0)); // 3
System.out.println(countAbove(arr, 150.0)); // 0
System.out.println(countAbove(arr, 1000.0)); // 0
Product[] one = { new Product("Solo", 5.0) };
System.out.println(mostExpensive(one).getName()); // Solo
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.