あなたは、たとえば、このためのクラスを作成することができます。
public class Range{
int min;
int max;
String msg;
public Range(int min, int max, String msg){
this.min = min;
this.max = max;
this.msg = msg;
}
public boolean isInRange(int val){
return val >= min && val <= max;
}
public void showMessage(){
System.out.println(msg);
}
}
をして、これはあなたがそれを使用する方法である。
Range range1 = new Range(2,3,"You're a toddler!");
Range range2 = new Range(4,8,"....");
Range range3 = new Range(9,12,"....");
List<Range> ranges = new ArrayList<>(Arrays.asList(range1,range2,range3));
int val = ...;
for(Range range:ranges){
if(range.isInRange(val)){
range.showMessage();
}
}
私は、これはそれを簡単にするのかはわからないが、それ間違いなくより動的になり、実行時に範囲を追加/削除することが容易になります。
これは方法です。 – Idos
これらがすべての離散値をマップする連結範囲である場合、単一の比較を使用できます。 ( 'age <2'、' age <= 3' ...) –