我可以避免使用堆叠的if语句

时间:2013-02-16 17:07:59

标签: java if-statement

我正在编写一个程序,其上限有多少访客等。如果达到上限,则默认并打印,即您已达到成人容量。

我正在寻找一种缩短代码的方法,而不是使用stack if语句(我现在正在使用它。我是非常新的,我希望有一种方法可以通过实现以下方法来实现这一点吗?不过我我还没有看到如何识别和System.out.print具体细节。

if (childCount >= CHILD_LIMIT || adultCount >= ADULT_LIMIT 
  || seniorCount >= SENIOR_LIMIT || totalPeople >= TOT_LIMIT || totalMoney >= GRAND_AMT)

2 个答案:

答案 0 :(得分:0)

如果您尝试针对不同条件打印不同的语句,则应使用单独的if语句:

boolean error = false;
if(childCount >= CHILD_LIMIT) {
    System.out.println("You have reached child capacity");
    error = true;
}
if(adultCount >= ADULT_LIMIT) {
    System.out.println("You have reached adult capacity");
    error = true;
}
...
if(error) {
    /* error occurred, don't process input normally */
}

答案 1 :(得分:0)

您可以维持3 List s。

一个用于了解您的比较,第二个用于保持值,第三个用于保持上限。

然后,您可以使用for循环遍历第一个列表,然后在其中,您可以设置if条件,比较其他两个列表中的值。

并在break部分添加else以增加短路效果。