public interface NumberGroup
{
public boolean contains(int num);
}
public class Range implements NumberGroup{
private int min;
private int max;
public Range(int min, int max){
this.min = min;
this.max = max;
}
public boolean contains(int num){
return num >= min && num <= max;
}
public static void main(String[] args) {
NumberGroup range = new Range(-3, 2);
System.out.println(range.contains(-10));
System.out.println(range.contains(-3));
System.out.println(range.contains(0));
System.out.println(range.contains(1));
System.out.println(range.contains(5));
}
}
Range.main(null);
false
true
true
true
false
public class MultipleGroups implements NumberGroup {
private List<NumberGroup> groupList;
public MultipleGroups() {
groupList = new ArrayList<>();
groupList.add(new Range(5, 8));
groupList.add(new Range(10, 12));
groupList.add(new Range(1, 6));
}
public boolean contains(int num) {
for (NumberGroup group : groupList) {
if (group.contains(num)) {
return true;
}
}
return false;
}
}
// Test
class MultipleGroupsTest {
public static void main(String[] args) {
MultipleGroups multiple = new MultipleGroups();
System.out.println(multiple.contains(3)); // should return true
System.out.println(multiple.contains(9)); // should return false
System.out.println(multiple.contains(5)); // should return true
}
}
MultipleGroupsTest.main(null);
true
false
true