访问枚举变量/方法

时间:2015-05-22 14:56:29

标签: java enums

enum ChineseMenu {

    SOUP_CHICKEN(22), SOUP_VEG(32),

    NOODLES_NONVEG(23), NOODLES_VEG(55),

    RICE_NONVEG(43), RICE_VEG(66);

    private int value;

    ChineseMenu(int price) {
        this.value = price;
    }

    public int getCost() {
        return value;
    }
}




class ChineseDemo {

    public static void main(String[] args) {
        ChineseMenu[] chineseArray = ChineseMenu.values();
        for (ChineseMenu menu : chineseArray) {
            System.out.println("The price of " + menu + " is ");//i want to add the price value
        }

    }
}

在上面的代码中,我想在""之后添加价格值。我甚至尝试声明一个方法,然后调用相同的方法。但它给出了一个错误,即静态类型不能引用非静态变量

2 个答案:

答案 0 :(得分:1)

这个怎么样:

System.out.println("The price of " + menu + " is " + menu.getCost());

答案 1 :(得分:0)

  

在上面的代码中,我想在""

之后添加价格值

根据您的问题以及您的打印声明显示The price of menu is的上述行判断,您似乎想要打印中文菜单的总费用:

您可以创建一个名为total的变量来保存总价:

public static void main(String[] args) {
        ChineseMenu[] chineseArray = ChineseMenu.values();
        int total = 0;
        for (ChineseMenu menu : chineseArray) {
            total+=menu.getCost();

        }
        System.out.println("The price of Chinese menu is "+total);

}