我有一个上限和一个下限,我想返回包含边界的边界之间的所有数字。我知道python有一个范围函数,但我确定java是否有这种方法。
答案 0 :(得分:2)
你可以使用for循环。您想要打印还是退回?你的头衔和问题在这方面存在分歧。如果要返回它们,则需要选择用于包含它们的类型。
List<Integer> ret = new ArrayList<Integer>();
for (int i = lower; i <= upper; i++) {
ret.add(i);
}
return ret;
我将把它作为练习打印出来,或者按降序排列。
答案 1 :(得分:1)
如果你有一个整数数组,你可以在Apache Commons Lang中使用 IntRange :
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/math/IntRange.html
IntRange ir = new IntRange(int lower, int upper);
ir.toString();
您可以在此处使用各种范围的更多信息:
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/math/class-use/Range.html
答案 2 :(得分:0)
编辑:我完全过度阅读了这个问题。我看到了一个IntRange实用程序的建议,我只是假设这是经典的“我想要一个Iterable”请求,我经常听到。所以请忽略以下内容。
简化(无错误检查):
public static List<Integer> range(final int start, final int end) {
return new AbstractList<Integer>() {
public int size() {
return end - start + 1;
}
public Integer get(int i) {
return start + i;
}
};
}