簡體   English   中英

在Java中按降序或升序打印整數的范圍

[英]print range of integers in descending or ascending order in java

我有一個上限和一個下限,我想返回所有界限之間的數字,包括界限。 我知道python具有范圍功能,但是我確定java是否具有此方法。

您可以只使用for循環。 您要打印還是退回它們? 您的標題和問題對此持不同意見。 如果要返回它們,則需要選擇用於包含它們的類型。

List<Integer> ret = new ArrayList<Integer>();
for (int i = lower; i <= upper; i++) {
    ret.add(i);
}
return ret;

我將其作為練習打印或按降序排列。

如果您有一個整數數組,則可以在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

編輯:我完全閱讀問題。 我看到了有關IntRange實用程序的建議,我只是以為這是我經常聽到的經典“我想要一個可迭代”請求。 因此,請忽略以下內容。

簡化(無錯誤檢查):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM