在java中以降序或升序打印整数范围

时间:2010-02-11 05:36:22

标签: java range integer

我有一个上限和一个下限,我想返回包含边界的边界之间的所有数字。我知道python有一个范围函数,但我确定java是否有这种方法。

3 个答案:

答案 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;
    }
  };
}