Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比萨饼班。添加一个名为SetOfTopings的集作为属性。使用Java_Java_Enums_Set - Fatal编程技术网

比萨饼班。添加一个名为SetOfTopings的集作为属性。使用Java

比萨饼班。添加一个名为SetOfTopings的集作为属性。使用Java,java,enums,set,Java,Enums,Set,我基本上需要在我已经拥有的基础上添加一套,以便“客户”在比萨饼制作完成后添加或移除配料。以下是我已经拥有的: package pizza; public class Pizza { // Declare enums public enum Size{ SMALL, MEDIUM, LARGE, JUMBO } public enum Crust{ CHEESY, HAND_TOSSEDS, THIN_AND_CRISPY, DEEP_PAN

我基本上需要在我已经拥有的基础上添加一套,以便“客户”在比萨饼制作完成后添加或移除配料。以下是我已经拥有的:

package pizza;

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 = new EnumSet<Topping>(Topping.class);

 public Pizza(){

}

public Pizza(Size pizzaSize, Crust crustType) {
   this.pizzaSize = pizzaSize;
   this.crustType = crustType;
}

 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 topping: " + setOfToppings;
}


}
我现在的代码非常好用,我只需要帮助添加一个额外的Enum浇头,并添加一个名为SetOfTopings的集合,这样当我测试它时,“客户”可以在创建比萨饼后添加或删除浇头。提前谢谢,我对java还比较陌生,所以欢迎提供任何提示或建议

[…]我只需要添加额外的枚举
浇头的帮助

与定义其他枚举的方式相同:

public enum Topping {
   PINEAPPLE,
   BANANA
}
[…]并添加名为
setOfToppings的集合

然后添加一个字段:

private Set<Topping> setOfToppings = EnumSet.noneOf(Topping.class);
privatesesetoftoppings=EnumSet.noneOf(Topping.class);
您可以创建访问方法,例如

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

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

public void addManyToppings(Topping... toppings) {
    setOfToppings.addAll(Arrays.asList(toppings));
}
public void addTopping(Topping-Topping){
设置浇头。添加(浇头);
}
公共集getToppings(){
回位设置;
}
公共空白添加许多标签(顶部…顶部){
setOfToppings.addAll(Arrays.asList(toppings));
}

添加字段时出错:private Set setOfToppings=new EnumSet(Topping.class);这样说:无法实例化EnumSetType。我应该如何将浇头添加到测试部分?谢谢你的帮助!谢谢你的更新,你能给我举个例子说明你添加一套的意思吗?例如,你可以
doubleCheese.addTopping(Topping.BANANA)
。您可能需要更新
toString
方法并添加带有topping的
:“+setOfTopping
。很抱歉,我的意思是,为了添加一个名为setOfToppings的集合,所以我会进行批萨。为每个topping添加topping(topping.蘑菇)?
public void addTopping(Topping topping) {
    setOfToppings.add(topping);
}

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

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