【发布时间】:2017-07-15 05:27:28
【问题描述】:
我想知道是否有更好的方法来处理 n no。 Java 中的 if/else-if 块。
我有一种情况,我需要根据 n 号打印不同的值。 if/else-if/conditions 块,如
if(p==1 && q==r)
System.out.println("Condition 1");
else if(r==p && q==9)
System.out.println("Condition 2");
else if(z==1 && s==r)
System.out.println("Condition 3");
else if(p==1 || x==r && y==7)
System.out.println("Condition 4");
else if(q==z && y==r || p==4)
System.out.println("Condition 5");
else if(x==z && r==5 || z==30)
System.out.println("Condition 6");
else if(s==1 || q==x)
System.out.println("Condition 7");
else if(r==14 || q==r++ || z==y)
System.out.println("Condition 8");
else if(q==18 && s==r || p==90)
System.out.println("Condition 9");
else if(y==19 || q==89)
System.out.println("Condition 10");
...
有没有其他方法来处理它,而不是放置多个 if/else if 语句,以便以后如果有任何新条件出现,它会很容易处理。
【问题讨论】:
-
很难给出一般性的答案。也许您想更多地讲述您遇到此要求的情况,并且有人可以从更高的角度提出建议。
-
这种情况的一个常见例子是推销员问题,他需要根据天气、距离、时间、业务优先级、否等多种因素决定每天去哪个城市。要会见的目标客户数量、个人优先事项、第二天计划的访问等。
-
还是有点模糊。对于推销员,我想我会使用一个数据结构来描述每个可能的城市(例如距离、目标客户数量、天气敏感性、上次访问日期和优先客户列表)。然后是一个方法,甚至是一个策略类,从数据中挑选出最好的城市并将其返回给我。
-
我很感激接受 ;-)
标签: java if-statement optimization conditional-statements