检查列表是真还是假

时间:2013-12-19 15:37:58

标签: java list collections boolean

我是编程并尝试创建一个迭代列表并返回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?

6 个答案:

答案 0 :(得分:3)

以下是一个干净的逻辑:

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

    return true;
}

检查所有Toppings,如果其中任何一个不是Veg,它会立即返回false并且不会检查其他人(不必,对?)。如果它检查所有这些并且它们都不是Veg,它将返回true

答案 1 :(得分:0)

请记住,当浇头不是素食时,你不需要关心其余的浇头,没有什么可以改变比萨饼的状态。因此,无需检查其余部分。 return 只是打破了所有循环。如果没有什么东西能让素食主义者不喜欢披萨,你知道它必须是素食主义者。

public boolean vegStatus(){

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

    }
    return true;
}

答案 2 :(得分:0)

public boolean vegStatus(){

    boolean veg1 = false;

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

答案 3 :(得分:0)

您应该将veg1变量初始化为true,并且只有在找到不适合素食者的顶部时才会更改它。

public boolean vegStatus(){

    boolean veg1 = true;

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

答案 4 :(得分:0)

这样做

public boolean vegstatus(){    
    for(PizzaTopping topping : topList){
        if( !topping.isVeg()) {
            return  false; //Failed so anymore he is not a vegetarian 
        }       
    }
    return true;// Never failed above condition so he should be vegetarian. 
}

答案 5 :(得分:0)

你应该这样做....

public boolean vegStatus(){

boolean veg1 = true;   // by default its true

for(PizzaTopping topping : topList){
    if(topping.isVeg() == false) {
        veg1 = false; // if any one id  not suitable then its false
    }   
}
return veg1; // at the end returning the result.. 
}

如果您有任何疑问,可以再问一次......