For this project, you get to design and write a Java program to keep track of various menu items. Your program will store, display and modify salads, sandwiches and (you guessed it) frozen yogurts. Present the user with the following menu options:
Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) QuitIf the user does not enter one of these options, then display:
Sorry, <NUMBER> is not a valid option.Where <NUMBER> is the user's input.
All menu items have the following:
Sorry, could not find <NAME> in the listWhere <NAME> is the user's input. When displaying all of the menu items, display them in the order that they were entered. Note, for adding a topping to a menu item, verify that that the specified item is in the list before requesting the topping.
For this project, you get to have at least a separate class for a salad, sandwich and frozen yogurt. Store each class in a separate file. Furthermore, they need to be organized into an inheritance hierarchy. You are welcome to have more classes if they make sense in the hierarchy. You can use an abstract class if you want to. Note, this project was designed to minimize changes to the code that was in your FrozenYogurt class from Project 3. You will need to submit each of these .java files to codePost and CougarVIEW so that they can be compiled with your other code.
Additionally, have a driver class named Menu. Store all of the menu item objects (i.e., the salad, sandwich and frozen yogurt objects) in a single ArrayList in this class. Create the ArrayList in the main() method of your Menu class. You are not allowed to explicitly use the Object class anywhere in your Menu class (meaning, you should not have "Object" anywhere in your code in Menu.java). Also, do not store String objects in the ArrayList. Lastly, do not use instanceof in any of your .java files.
Only ask for input in your Menu class. Only display output in your Menu class.
codePost does not support the package statement. If your IDE inserted, then please remove that line of code from each class.
Welcome - PUT AN ORIGINAL WELCOME MESSAGE HERE Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 3 You entered: 3 Please enter the name of the frozen yogurt: Berry Delight You entered: Berry Delight Please enter the price for the Berry Delight: 4.5 You entered: 4.5 Please enter the base yogurt flavor for Berry Delight: vanilla You entered: vanilla Please enter the topping to add to Berry Delight: blueberries You entered: blueberries Would you like to add another topping to Berry Delight (yes/no)? yes You entered yes Please enter the additional topping flavor: blackberries You entered: blackberries Would you like to add another topping to Berry Delight (yes/no)? yes You entered yes Please enter the additional topping flavor: strawberries You entered: strawberries Would you like to add another topping to Berry Delight (yes/no)? no You entered no Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 5 You entered: 5 Displaying 1 item: Frozen Yogurt : Berry Delight Price : $5.48 Yogurt : vanilla Topping : blueberries, blackberries, strawberries Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 3 You entered: 3 Please enter the name of the frozen yogurt: Plain Strawberry You entered: Plain Strawberry Please enter the price for the Plain Strawberry: 3.75 You entered: 3.75 Please enter the base yogurt flavor for Plain Strawberry: vanilla You entered: vanilla Please enter the topping to add to Plain Strawberry: Strawberries You entered: Strawberries Would you like to add another topping to Plain Strawberry (yes/no)? no You entered no Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 5 You entered: 5 Displaying 2 items: Frozen Yogurt : Berry Delight Price : $5.48 Yogurt : vanilla Topping : blueberries, blackberries, strawberries Frozen Yogurt : Plain Strawberry Price : $3.75 Yogurt : vanilla Topping : Strawberries Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 9 You entered: 9 Thank you!
Welcome - PUT AN ORIGINAL WELCOME MESSAGE HERE Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 2 You entered: 2 Please enter the name of the sandwich: Italian Meatball You entered: Italian Meatball Please enter the price for the Italian Meatball: 8.99 You entered: 8.99 Please enter the name of the side: Brussel sprouts You entered: Brussel sprouts Please enter the type of bread for the Italian Meatball: Flatbread You entered: Flatbread Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 1 You entered: 1 Please enter the name of the salad: Farm Cobb You entered: Farm Cobb Please enter the price for the Farm Cobb: 7.12 You entered: 7.12 Please enter the name of the side: Crispy Bacon You entered: Crispy Bacon Please enter the dressing for the Farm Cobb: Bacon Ranch You entered: Bacon Ranch Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 3 You entered: 3 Please enter the name of the frozen yogurt: Blackberry Cheesecake You entered: Blackberry Cheesecake Please enter the price for the Blackberry Cheesecake: 5.5 You entered: 5.5 Please enter the base yogurt flavor for Blackberry Cheesecake: vanilla You entered: vanilla Please enter the topping to add to Blackberry Cheesecake: blackberries You entered: blackberries Would you like to add another topping to Blackberry Cheesecake (yes/no)? yes You entered yes Please enter the additional topping flavor: crackers You entered: crackers Would you like to add another topping to Blackberry Cheesecake (yes/no)? no You entered no Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 5 You entered: 5 Displaying 3 items: Sandwich : Italian Meatball (on Flatbread) Price : $8.99 Side : Brussel sprouts Toppings : Salad : Farm Cobb (with Bacon Ranch) Price : $7.12 Side : Crispy Bacon Toppings : Frozen Yogurt : Blackberry Cheesecake Price : $5.99 Yogurt : vanilla Topping : blackberries, crackers Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 9 You entered: 9 Thank you!
Welcome - PUT AN ORIGINAL WELCOME MESSAGE HERE Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 3 You entered: 3 Please enter the name of the frozen yogurt: Plain Strawberry You entered: Plain Strawberry Please enter the price for the Plain Strawberry: 3.75 You entered: 3.75 Please enter the base yogurt flavor for Plain Strawberry: vanilla You entered: vanilla Please enter the topping to add to Plain Strawberry: Strawberries You entered: Strawberries Would you like to add another topping to Plain Strawberry (yes/no)? no You entered no Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 2 You entered: 2 Please enter the name of the sandwich: Club You entered: Club Please enter the price for the Club: 5.01 You entered: 5.01 Please enter the name of the side: Green beans You entered: Green beans Please enter the type of bread for the Club: Nine Grain You entered: Nine Grain Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 1 You entered: 1 Please enter the name of the salad: Fresh Garden You entered: Fresh Garden Please enter the price for the Fresh Garden: 6.45 You entered: 6.45 Please enter the name of the side: Macaroni and Cheese You entered: Macaroni and Cheese Please enter the dressing for the Fresh Garden: Ranch You entered: Ranch Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 5 You entered: 5 Displaying 3 items: Frozen Yogurt : Plain Strawberry Price : $3.75 Yogurt : vanilla Topping : Strawberries Sandwich : Club (on Nine Grain) Price : $5.01 Side : Green beans Toppings : Salad : Fresh Garden (with Ranch) Price : $6.45 Side : Macaroni and Cheese Toppings : Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 4 You entered: 4 Please enter the name of the item to display: Garlic Bread You entered: Garlic Bread Sorry, could not find Garlic Bread in the list Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 4 You entered: 4 Please enter the name of the item to display: Fresh Garden You entered: Fresh Garden Salad : Fresh Garden (with Ranch) Price : $6.45 Side : Macaroni and Cheese Toppings : Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 4 You entered: 4 Please enter the name of the item to display: BLT You entered: BLT Sorry, could not find BLT in the list Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 4 You entered: 4 Please enter the name of the item to display: Club You entered: Club Sandwich : Club (on Nine Grain) Price : $5.01 Side : Green beans Toppings : Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 4 You entered: 4 Please enter the name of the item to display: Chocolate^2 Chip Cookie Dough You entered: Chocolate^2 Chip Cookie Dough Sorry, could not find Chocolate^2 Chip Cookie Dough in the list Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 4 You entered: 4 Please enter the name of the item to display: Plain Strawberry You entered: Plain Strawberry Frozen Yogurt : Plain Strawberry Price : $3.75 Yogurt : vanilla Topping : Strawberries Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 9 You entered: 9 Thank you!
Welcome - PUT AN ORIGINAL WELCOME MESSAGE HERE Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 2 You entered: 2 Please enter the name of the sandwich: BLT You entered: BLT Please enter the price for the BLT: 5.5 You entered: 5.5 Please enter the name of the side: Corn on the Cob You entered: Corn on the Cob Please enter the type of bread for the BLT: Whole Wheat You entered: Whole Wheat Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 3 You entered: 3 Please enter the name of the frozen yogurt: Chocolate^2 Chip Cookie Dough You entered: Chocolate^2 Chip Cookie Dough Please enter the price for the Chocolate^2 Chip Cookie Dough: 3.75 You entered: 3.75 Please enter the base yogurt flavor for Chocolate^2 Chip Cookie Dough: chocolate You entered: chocolate Please enter the topping to add to Chocolate^2 Chip Cookie Dough: Chocolate Chip Cookie Dough You entered: Chocolate Chip Cookie Dough Would you like to add another topping to Chocolate^2 Chip Cookie Dough (yes/no)? yes You entered yes Please enter the additional topping flavor: Brownies You entered: Brownies Would you like to add another topping to Chocolate^2 Chip Cookie Dough (yes/no)? no You entered no Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 1 You entered: 1 Please enter the name of the salad: Fresh Mediterranean You entered: Fresh Mediterranean Please enter the price for the Fresh Mediterranean: 6.99 You entered: 6.99 Please enter the name of the side: Garlic Bread You entered: Garlic Bread Please enter the dressing for the Fresh Mediterranean: Fresh Lemon You entered: Fresh Lemon Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 5 You entered: 5 Displaying 3 items: Sandwich : BLT (on Whole Wheat) Price : $5.5 Side : Corn on the Cob Toppings : Frozen Yogurt : Chocolate^2 Chip Cookie Dough Price : $4.24 Yogurt : chocolate Topping : Chocolate Chip Cookie Dough, Brownies Salad : Fresh Mediterranean (with Fresh Lemon) Price : $6.99 Side : Garlic Bread Toppings : Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 6 You entered: 6 Please enter the name of the item (to add a topping to): Fresh Mediterranean You entered: Fresh Mediterranean Please enter the topping to add to Fresh Mediterranean: Salt You entered: Salt Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 6 You entered: 6 Please enter the name of the item (to add a topping to): Fresh Mediterranean You entered: Fresh Mediterranean Please enter the topping to add to Fresh Mediterranean: Pepper You entered: Pepper Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 6 You entered: 6 Please enter the name of the item (to add a topping to): Chocolate^2 Chip Cookie Dough You entered: Chocolate^2 Chip Cookie Dough Please enter the topping to add to Chocolate^2 Chip Cookie Dough: Hot fudge You entered: Hot fudge Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 5 You entered: 5 Displaying 3 items: Sandwich : BLT (on Whole Wheat) Price : $5.5 Side : Corn on the Cob Toppings : Frozen Yogurt : Chocolate^2 Chip Cookie Dough Price : $4.73 Yogurt : chocolate Topping : Chocolate Chip Cookie Dough, Brownies, Hot fudge Salad : Fresh Mediterranean (with Fresh Lemon) Price : $7.48 Side : Garlic Bread Toppings : Salt, Pepper Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 9 You entered: 9 Thank you!
Welcome - PUT AN ORIGINAL WELCOME MESSAGE HERE Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 5 You entered: 5 Displaying 0 items: Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 99 You entered: 99 Sorry, 99 is not a valid option. Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 89 You entered: 89 Sorry, 89 is not a valid option. Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: -1 You entered: -1 Sorry, -1 is not a valid option. Actions: 1) Add a salad 2) Add a sandwich 3) Add a frozen yogurt 4) Display an item 5) Display all items 6) Add a topping to an item 9) Quit Please choose from the above actions: 9 You entered: 9 Thank you!
Points Item ---------- -------------------------------------------------------------- _____ / 15 Style + Code is indented correctly + Methods should be no longer than 1 page + Documentation: (written for another software developer) * All source code files include Javadoc header block with description, @author, @version, etc. * Javadoc (with block tags, for example @param, @return) before each method * All non-trivial variables are commented * Comments included before major portions of code _____ / 30 ArrayList (creation and use) _____ / 10 Inheritance hierarchy _____ / 15 Appropriate fields and methods in base class and child classes (salad, sandwich and frozen yogurts) (uses inherited members appropriately) _____ / 28 Input / Output Tests _____ / 5 Debugger screenshot (bonus) _____ / 5 Submitted 1+ days early (bonus) _____ / 2 Completed rubric (estimates for each line including hours spent) _____ /100 Total _____ Approximate number of hours spent I, (REPLACE WITH YOUR FULL NAME), affirm that the code that I submitted is my own work and that I did not receive help that was not authorized by the instructor.
Copy and paste this rubric into a rubric-MenuItems.txt file (not a .docx, .doc nor .rtf file). Think of this as a checklist to ensure that you receive the maximum points possible. For each grade item, fill in your estimate for the grade you deserve. Additionally, include your estimate of how many hours your spent. Lastly, replace, "(REPLACE WITH YOUR FULL NAME)" with your full name to indicate that what you are submitting is entirely your own work.
The submission process has two parts:
Submit your Menu class and your 4+ other classes to codePost.io. Note, codePost will only require Menu.java, but you need to also upload the other 4+ .java files otherwise it can not compile and run your code.
To register for a free codePost account, please follow these instructions.
You can submit to codePost multiple times if you want.
Only your last submission will be graded.
Watch this short video for a demonstration of submitting an assignment and reviewing the results:
Submit your rubric-MenuItems.txt to the appropriate Assignment tab/folder in CougarVIEW. This is required to receive detailed graded feedback on your project. If you resubmit your rubric, this will effectively replace your previous submission.
Please choose from the above actions:because "choose" is required by codePost.