需要帮助写一个我的比萨饼代码 [英] Need help writing in a set for my pizza code

查看:191
本文介绍了需要帮助写一个我的比萨饼代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我当前的代码。我需要帮助,让设置列表在比萨饼和测试代码中工作。

Here is my current code. I need help with getting the set list to work in the pizza and the test code.

package pizza;

import java.util.EnumSet;
import java.util.Set;

import pizza.Pizza.Crust;
import pizza.Pizza.Size;
import pizza.Pizza.Topping;

public class Pizza {

// Declare enums
public enum Size{
   SMALL,
   MEDIUM,
   LARGE,
   JUMBO
 }

 public enum Crust{
   CHEESY,
   HAND_TOSSEDS,
   THIN_AND_CRISPY,
   DEEP_PAN
  }

 public enum Topping{
   MUSHROOMS,
   GREEN_PEPPERS,
   HAM,
   PEPPERONI,
   SAUGSAGE
 }

 // declare variables
 private Size pizzaSize;
 private Crust crustType;


 private Set<Topping> setOfToppings = EnumSet.noneOf(Topping.class);
 public Pizza(){


 }
 public void addTopping(Topping topping) {
    setOfToppings.add(topping);
 }

 public Set<Topping> getToppings() {
    return setOfToppings;
 }
 public Pizza(Size pizzaSize, Crust 
  crustType, Topping greenPeppers, Topping saugsage, Topping                
   pepperoni) {
   this.pizzaSize = pizzaSize;
   this.crustType = crustType;


 }

  public Pizza(Size large, Crust cheesy, Topping greenPeppers) {
 // TODO Auto-generated constructor stub
 }
 public Size getPizzaSize() {
   return pizzaSize;
 }
 public void setPizzaSize(Size pizzaSize) {
   this.pizzaSize = pizzaSize;
 }
 public Crust getCrustType() {
   return crustType;
 }
 public void setCrustType(Crust crustType) {
   this.crustType = crustType;
 }

 public String toString(){
   return "A "+pizzaSize+" Pizza with "+ crustType +" crust" + "with " + 
  setOfToppings +      "Toppings";
 }


 }

这是我的TestCode

Here is my TestCode

package pizza;

import pizza.Pizza.Crust;
import pizza.Pizza.Size;
import pizza.Pizza.Topping;

public class PizzaTest {

   public static void main(String[] args) {

   // use constructor 1
   Pizza vegieCrunch = new Pizza(); 
   vegieCrunch.setCrustType(Crust.THIN_AND_CRISPY);
   vegieCrunch.setPizzaSize(Size.MEDIUM);
   vegieCrunch.addTopping(Topping.MUSHROOMS);

   // constructor 2
   Pizza doubleCheese = new Pizza(Size.LARGE, Crust.CHEESY, Topping.GREEN_PEPPERS);

   Pizza PartyPizza = new Pizza(Size.JUMBO, Crust.DEEP_PAN, Topping.HAM,
    Topping.SAUGSAGE,   Topping.PEPPERONI);

   // use of getters
   System.out.println("Pizza Vegie Crunch::");
   System.out.println("Size: "+vegieCrunch.getPizzaSize());
   System.out.println("Crust Type: "+vegieCrunch.getCrustType());
   System.out.println("Toppings Chosen: " + vegieCrunch.getToppings());

   // use of toString
   System.out.println("\nPizza Double Cheese:");
   System.out.println(doubleCheese.toString());

   System.out.println("\nPizza Party Pizza:");
   System.out.println(PartyPizza.toString());

 }

}

到目前为止编译和运行良好,但我没有为用户添加或删除toppings选项。我真的需要帮助,谢谢大家!

So far it compiles and runs fine however I dont have the add or remove toppings option for the user. I really need help with this, Thank you to everyone!

推荐答案

所以这里你有你的顶级方法:

So here you have your topping methods:

public void addTopping(Topping topping) {
    setOfToppings.add(topping);
}

public void removeTopping(Topping topping) {
    setOfToppings.remove(topping);
}

public void addToppings(Topping... toppings) {
    setOfToppings.addAll(Arrays.asList(toppings));
}

public Set<Topping> getToppings() {
    return setOfToppings;
}

以下是您在测试代码中使用它们的方式:

And here's how you use them in your test code:

// use constructor 1
Pizza vegieCrunch = new Pizza();
vegieCrunch.setCrustType(Crust.THIN_AND_CRISPY);
vegieCrunch.setPizzaSize(Size.MEDIUM);

//////////////////////////////////////////////////////////////
vegieCrunch.addTopping(Topping.MUSHROOMS);
vegieCrunch.addTopping(Topping.HAM);
vegieCrunch.addToppings(Topping.GREEN_PEPPERS, Topping.PEPPERONI);
vegieCrunch.removeTopping(Topping.HAM);
//////////////////////////////////////////////////////////////

这篇关于需要帮助写一个我的比萨饼代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆