Question: I need to create a program that will help manage a collection of recipes. This Recipe class needs to 1. hold all the details of

I need to create a program that will help manage a collection of recipes. This Recipe class needs to

1. hold all the details of the recipe

2. methods to create new recipe

3. method to print recipe

Promt: This submission will include the Recipe.java file

*Recipe Class should include the following items*

? Instance variables: recipeName, servings, recipeIngredients, and totalRecipeCalories

? Accessors and mutators for the instance variables

? Constructors

? A printRecipe() method

? A createNewRecipe() method to build a recipe from user input

? Pseudocode for the custom method selected from the list in Stepping Stone Lab Five

Below is the Intial code i created, and at the bottom are the changes that i need to make.

/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */

package SteppingStones;

import java.util.Scanner; import java.util.ArrayList;

/** * * @author Eli Mishkit */

public class SteppingStone5_Recipe { private String recipeName; double totalRecipeCalories = 0.0; ArrayList recipeIngredients = new ArrayList(); boolean addMoreIngredients = true; int servings;

public String getRecipeName() { return recipeName; }

public double getTotalRecipeCalories() { return totalRecipeCalories; }

public ArrayList getRecipeIngredients() { return recipeIngredients; }

public boolean isAddMoreIngredients() { return addMoreIngredients; }

public int getServings() { return servings; }

public void setRecipeName(String recipeName) { this.recipeName = recipeName; }

public void setTotalRecipeCalories(double totalRecipeCalories) { this.totalRecipeCalories = totalRecipeCalories; }

public void setRecipeIngredients(ArrayList recipeIngredients) { this.recipeIngredients = recipeIngredients; }

public void setAddMoreIngredients(boolean addMoreIngredients) { this.addMoreIngredients = addMoreIngredients; }

public void setServings(int servings) { this.servings = servings; } public SteppingStone5_Recipe() { this.recipeName = ""; this.servings = 0; //<--- assignment value with appropriate data type

this.totalRecipeCalories = 0; } public SteppingStone5_Recipe(String recipeName, int servings, ArrayList recipeIngredients, double totalRecipeCalories) //<-- use appropriate data type for the ArrayList and the servings arguments { this.recipeName = recipeName; this.servings = servings; this.recipeIngredients = recipeIngredients; this.totalRecipeCalories = totalRecipeCalories; } public void printRecipe() { double singleServingCalories; singleServingCalories = this.totalRecipeCalories/this.servings; /** * Print the following recipe information: * Recipe: <> system.out.println("Recipe Name" + this.recipeName); * Serves: <> * Ingredients: * <> * <> * ... * <> * * Each serving has <> Calories. * * HINT --> Use a for loop to iterate through the ingredients */ System.out.println("Recipe Name" + this.recipeName); System.out.println("Serves" + this.servings); System.out.println("Ingredients"); for(String m:recipeIngredients) { System.out.println(m); } System.out.println("Each serving has"+ singleServingCalories+ "Calories"); } public static void main(String[] args) { double totalRecipeCalories = 0.0; ArrayList recipeIngredients = new ArrayList(); boolean addMoreIngredients = true; Scanner scnr = new Scanner(System.in); System.out.println("Please enter the recipe name: "); String recipeName = scnr.nextLine(); System.out.println("Please enter the number of servings: "); //correct data type & Scanner assignment method for servings variable int servings = scnr.nextInt(); String ingredientName ; do { System.out.println("Please enter the ingredient name or type end if you are finished entering ingredients: "); ingredientName = scnr.next(); if (ingredientName.toLowerCase().equals("end")) { addMoreIngredients = false; } else {

/** * Add the ingredient name to recipeIngredients * */ System.out.println("Please enter the ingredient amount: "); float ingredientAmount = scnr.nextFloat(); System.out.println("Please enter the ingredient Calories: "); int ingredientCalories = scnr.nextInt(); /** * Add the total Calories from this ingredient * (ingredientCalories * ingredientAmount) * to the totalRecipeCalories * */ }

} while (!ingredientName.equals("n")) ; SteppingStone5_Recipe recipe1 = new SteppingStone5_Recipe(recipeName,servings, recipeIngredients, totalRecipeCalories); recipe1.printRecipe(); } }

/** * Final Project * * For your Final Project: * * 1. Modify this code to develop a Recipe class: * a. change the void main method createNewRecipe() that returns a Recipe * * 2. FOR FINAL SUBMISSION ONLY:Change the ArrayList type to an * Ingredient object. When a user adds an ingredient to the recipe, * instead of adding just the ingredient name, you will be adding the * actual ingredient including name, amount, measurement type, calories. * For the Milestone Two submission, the recipeIngredients ArrayList can * remain as a String type. * * 3. Adapt the printRecipe() method to print the amount and measurement * type as well as the ingredient name. * * 4. Create a custom method in the Recipe class. * Choose one of the following options: * * a. print out a recipe with amounts adjusted for a different * number of servings * * b. create an additional list or ArrayList that allow users to * insert step-by-step recipe instructions * * c. conversion of ingredient amounts from * English to metric (or vice versa) * * d. calculate select nutritional information * * e. calculate recipe cost * * f. propose a suitable alternative to your instructor

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!