如何使用数组打印多个枚举值?
Posted
技术标签:
【中文标题】如何使用数组打印多个枚举值?【英文标题】:How do I print more than one enum value using arrays? 【发布时间】:2022-01-15 07:18:02 【问题描述】:我不知道如何提出这个问题,但我说我有一个带有配料的披萨,我想(通过主类)打印或调用这个披萨的描述,其中包含的配料不是一种而是两种,如何我应该这样做吗?
我的浇头类是一个枚举,所以到目前为止我已经尝试过:
public class Pizza
private Toppings[] toppings;
public Pizza(Toppings[] toppings)
this.toppings = new Toppings[]Toppings.tomatosauce, Toppings.cheese;
public String toString()
return "Toppings: " + toppings;
然后在主类中:
public class Main
public static void main(String[] args)
Pizza pizza = new Pizza(Toppings.cheese);
System.out.println(pizza);
显然,这是错误的,因为它只打印奶酪面层。有什么提示吗?
【问题讨论】:
您已经用arrays
标记了这个问题。那么你有没有考虑过阅读tutorial about arrays并使用一个数组来保存多个Topping?
那么 Pizza 只有一个 topping
字段,您还能期待什么?
你也可以使用列表
@Enrico 不,我明白了。 OP 想要在比萨饼上添加多个浇头,但单个浇头只有一个字段。这显然是开始更改代码的地方。
用新信息编辑了比萨课。
【参考方案1】:
你可以用这个:
public class Pizza
private Toppings[] toppings;
public Pizza(Toppings ...toppings)
this.toppings = toppings;
public String toString()
return "Toppings: " + Arrays.toString(toppings);
class Main
public static void main(String[] args)
Pizza pizza = new Pizza(Toppings.cheese, Toppings.tomato);
System.out.println(pizza);
enum Toppings cheese, tomato
或
Pizza pizza = new Pizza(new Toppings[]Toppings.cheese, Toppings.tomato);
改为更改Pizza
的构造函数:
public Pizza(Toppings[] topping)
...
【讨论】:
添加 (new Toppings[] ...) 救了我,谢谢!以上是关于如何使用数组打印多个枚举值?的主要内容,如果未能解决你的问题,请参考以下文章