结合if语句

时间:2018-02-12 16:14:26

标签: java

所以我有这些if语句,我有2个问题。首先是有一种方法可以将这些语句组合成1大条件。此外,我想知道是否有一种方法可以使条件为真,然后自动结束方法。我实际上并不想说“没有货运列车”,如果if语句为真,我想结束方法。

public void rule4(ArrayList<Integer> dierolled){
    if (dierolled.contains(1)){
        System.out.println("no freight train");
    }
    if (dierolled.contains(3)){
        System.out.println("no freight train");
    }
    if (dierolled.contains(10)){
        System.out.println("no freight train");
    }

}

5 个答案:

答案 0 :(得分:3)

假设您使用的是Java 8+,您可以使用dierolled列表中的元素流()并检查是否有任何匹配项。如果是这样,return; - 否则在有“货运列车”时要做你想做的事。像,

public void rule4(ArrayList<Integer> dierolled) {
    if (dierolled.stream().anyMatch(x -> x == 1 || x == 3 || x == 10)) {
        return;
    }
    System.out.println("freight train");
}

答案 1 :(得分:1)

public void rule4(ArrayList<Integer> dierolled){
    if (dierolled.contains(1) || dierolled.contains(3) || dierolled.contains(10)) 
    return;
}

或者如果需要在某处使用它,则返回布尔值:

public boolean rule4(ArrayList<Integer> dierolled){
    return dierolled.contains(1) || dierolled.contains(3) || dierolled.contains(10) 
}

答案 2 :(得分:1)

要合并if语句,请尝试以下方法:

if (dierolled.contains(1) || dierolled.contains(3) || dierolled.contains(10)) {
    System.out.println("no freight train");
}

以上基本上是这样说的: 如果dierolled包含1 OR dierolled包含3 OR dierolled包含10则打印“no freight train”

if (dierolled.contains(1) && dierolled.contains(3) && dierolled.contains(10)) {
        System.out.println("no freight train");
    }

以上基本上是这样说的: 如果dierolled包含1 AND dierolled包含3 AND dierolled包含10则打印“no freight train”

要结束此方法,只需添加return;

即可

答案 3 :(得分:0)

您只需要在结尾使用一个if语句<3> 和一个return语句退出方法:

public void rule4(ArrayList<Integer> dierolled){
    if (dierolled.contains(1) || dierolled.contains(3) || dierolled.contains(10)){
        System.out.println("no freight train");
        return;
    }

}

答案 4 :(得分:0)

public void rule4(ArrayList<Integer> dierolled){
    if (dierolled.contains(1) 
            || dierolled.contains(3)
            || dierolled.contains(10)
       )
    {
        return;
    }
    /* Other code can go here */
 }

应该有效。您可能还想分析出“IF&#39;将条件纳入自己的可读性方法,例如private boolean noFreightTrain(List<Integer> dieRolled)