Question
The language is JAVA: Try to only create three classes (1. Fooditems , 2. Pieshop, 3. Menu) also cannot us String.utils. Pops Pie Shop wants
The language is JAVA: Try to only create three classes (1. Fooditems, 2. Pieshop, 3. Menu) also cannot us String.utils.
Pops Pie Shop wants you to help computerize its ever-changing menu. Heres an example of the delicious items that Pops has to offer: Here is what we are starting with today:
Savory: Savory Mince & Cheese Pork & Peach BBQ Curried Lamb & Spinach Chicken & Kumara Smoked Salmon, Leek & Potato Thai Butternut Curry (vegan) Sausage Roll Spinach & Cheese Roll Beef Pasty
Sweet Pie by the slice: Banoffee Blueberry Apple (vegan) Buttermilk & Raspberry Chocolate Chess Chocolate Raspberry Cream Coconut Cream Dutch Apple Lemon Meringue Mock Turtle (vegan)
Sweet Treats: Anzac Biscuit Caramel Blondie Cherry Pecan Brownie Chocolate Peppermint Cookie Lamington Lemon Coconut Cake Mellowpuff Yo Yo
As you can see, there are three categories in the menu each containing food items. A single, basic food item has a name, a designation if its suitable for vegan or other special diets, and a category (Savory, Sweet Pie, or Sweet Treat). In addition, Pops pies are so popular (get it?) that he would like a field to indicate if a Food Item is available or not, so that he can update the menu when an item is sold out. What data types comprise the fields in a FoodItem class? The other class that needs to be designed represents the menu of the day at Pops Pie Shop. The name of the Java class is Menu. The important characteristics of a Menu for Pops application are the three collections of FoodItems and the date. The menu to be displayed to customers is a list of all the available food items in each category, so the Menu class needs a method that will return a string representation of the current menu that includes the date.
The PieShop class contains the main method and is responsible for reading in the text file that contains the list of food items for the menu. The name of the file is to be read as a command line argument. (Failure to use command line arguments will result in a severe point penalty.) The food items are listed in the text file one item per line. The line is formatted with the name, menu category, special diet information, and availability all separated by a colon (:). For example:
Savory Mince & Cheese : savory : none : y
Blueberry Apple : sweet pie : vegan : y
Mellowpuff : sweet treat : none : n
The program will create FoodItem objects from the data in the text files and populate the days menu with those FoodItems that are available. (Failure to create these objects in your program will greatly reduce the number of points that you earn for the project.) Once this has been done, the program will display todays menu with a header, the current date, and the three categories of FoodItems listed separately. After displaying the menu for the day, the program will provide the following options:
1 Update an existing item on the menu
2 Save the menu
3 Close the program
For the first option, the program will prompt the user for the category and name of the item. If the item is included in the menu, then provide the option to change it from available to unavailable or from unavailable to available.
Option 2 will save the current menu, including any changes made via option 1, to a file named menu.out.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started