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
        }

    }
}


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

最佳答案

在上面的代码中,我想在“是”之后添加价格值


从上面的问题和您的打印语句中显示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);

}

09-09 21:14