簡體   English   中英

如何使用 arrays 打印多個枚舉值?

[英]How do I print more than one enum value using arrays?

我不確定如何提出問題,但說我有一個帶有配料的披薩,我想(通過主類)打印或調用這個披薩的描述,其中不包含一個而是兩個配料,我應該怎么做這個?

我的澆頭 class 是一個枚舉,所以到目前為止我已經嘗試過:

public class Pizza{

    private Toppings[] toppings;

    public Pizza(Toppings[] toppings){
        this.toppings = new Toppings[]{Toppings.tomatosauce, Toppings.cheese};
    }

    public String toString(){
        return "Toppings: " + toppings;
    }

}

然后在主要的 class 中:

public class Main {

    public static void main(String[] args) {
        Pizza pizza = new Pizza(Toppings.cheese);
        System.out.println(pizza);
    }
}

顯然,這是錯誤的,因為它只打印奶酪面層。 有什么提示嗎?

你可以使用這個:

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) {
    ...
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM