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

Java 我可以避免使用堆叠的if语句吗,java,if-statement,Java,If Statement,我正在编写一个程序,该程序有一个访问人数上限等,如果达到上限,则默认并打印,即您已达到成人容量 我正在寻找一种方法来缩短我的代码,而不是使用堆叠的if语句(我现在正在使用。我在这方面非常新,我希望有一种方法可以通过实现以下内容来做到这一点?但是我不太明白如何使其识别和System.out.print细节 if (childCount >= CHILD_LIMIT || adultCount >= ADULT_LIMIT || seniorCount >= SENIOR_L

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

我正在寻找一种方法来缩短我的代码,而不是使用堆叠的if语句(我现在正在使用。我在这方面非常新,我希望有一种方法可以通过实现以下内容来做到这一点?但是我不太明白如何使其识别和
System.out.print
细节

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

如果您试图针对不同的条件打印不同的语句,则应使用单独的
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 */
}

您可以维护3个
List
s

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

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


并在
的else
部分添加一个
中断
,以增加短路的效果。

如果您发布现有代码,建议如何使代码“更好”(更易于维护,可能更简洁)谢谢。我有一种感觉,我无法浓缩。感谢您的帮助。如果2或3个条件符合上限,他们都必须打印达到的容量。我的如果和或否则如果不让它发生。然后放下
else
,直接使用
if
,no
返回
。如果需要跟踪失败,请使用
布尔failure=false
并在每次失败时将其设置为
true
。我调整了答案。