The Delicious class – iterative methods The Delicious class must: • Define a method called setDetails which has the following header: public void setDetails(String name, int price, boolean available) This must find in the ArrayList the Chicken with the given name, change its pricePerKilo to the given price parameter and set whether it is in stock or not. A value of true for the available parameter means the chicken is in stock and a value of false means it is sold out (not in stock). Note that there will only be at most one Chicken object of the given name stored in the ArrayList. • Define a method called removeChicken that takes a single String parameter representing a chicken’s name. This method must remove from the ArrayList the Chicken object (if any) with the given name. The method must return true if a cheese with the given name was found and removed, and false otherwise. The Delicious class – challenge method In the Delicious class complete the findClosestAvailable method: This takes a single parameter of type integer representing a price per Kilo. The method must return the Chicken which is in stock and closest in price to the given price. Here are some further details. • Price distance is measured by the absolute value of the difference between two prices, regardless of sign. For instance, the distance between prices 1000 and 5000 is 4000, and the distance between prices 6000 and 4000 is 2000. • If there are no chicken in stock then the method must return null. • If more than one chicken is in stock and nearest to the given price and one is more expensive than the other then the cheaper must be returned. • If more than one chicken is in stock and nearest to the given price and they all have the same price then return the one stored at the lowest index in the collection. • Important: This method must not change the order of the Chicken objects stored in the ArrayList.
The Delicious class – iterative methods
The Delicious class must:
• Define a method called setDetails which has the following header: public void setDetails(String name, int price, boolean available) This must find in the ArrayList the Chicken with the given name, change its
pricePerKilo to the given price parameter and set whether it is in stock or not. A value of true for the available parameter means the chicken is in stock and a value of false means it is sold out (not in stock). Note that there will only be at most one Chicken object of the given name stored in the ArrayList.
• Define a method called removeChicken that takes a single String parameter representing a chicken’s name. This method must remove from the ArrayList the Chicken object (if any) with the given name. The method
must return true if a cheese with the given name was found and removed, and false otherwise.
The Delicious class – challenge method
In the Delicious class complete the findClosestAvailable method: This takes a single parameter of type integer representing a price per Kilo. The method must return the Chicken which is in stock and closest in price to the given price. Here are some further details.
• Price distance is measured by the absolute value of the difference between two prices, regardless of sign. For instance, the distance between prices 1000 and 5000 is 4000, and the distance between prices 6000 and 4000 is 2000.
• If there are no chicken in stock then the method must return null.
• If more than one chicken is in stock and nearest to the given price and one is more expensive than the other then the cheaper must be returned.
• If more than one chicken is in stock and nearest to the given price and they all have the same price then return the one stored at the lowest index in the collection.
• Important: This method must not change the order of the Chicken objects stored in the ArrayList.
Step by step
Solved in 3 steps with 5 images