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