我是编程的新手,尝试创建一种遍历列表并返回true或false的方法,以检查披萨是否适合素食主义者。只有列表中的所有浇头都适合素食者才是正确的。

这是我的方法:

public boolean vegStatus(){

    boolean veg1 = false;

    for(PizzaTopping topping : topList){
        if( (topping.isVeg() == true )) {
            veg1 = true;
        }
        else if(topping.isVeg() == false) {
            veg1 = false;
        }
    }
    return veg1;
}


此方法不起作用,它产生错误的答案。我如何更改它,以便它能显示列表中的所有浇头,并且只有在所有素食者都适合的情况下才返回true?

最佳答案

以下是一个干净的逻辑:

public boolean vegStatus(){
    for(PizzaTopping topping : topList) {
        if(!topping.isVeg())
            return false;
    }

    return true;
}


它检查所有Toppings,如果其中任何一个不是Veg,它会立即返回false,而不检查其他(不必,对吗?)。如果它检查所有它们,但都不是Veg,则返回true

08-06 19:41