【问题标题】:Adding a range of numbers to a Java array [duplicate]将一系列数字添加到Java数组[重复]
【发布时间】:2017-11-19 00:12:21
【问题描述】:

我对 Java 编程比较陌生,我正在尝试使用 (2017 - 3017) 的值创建一个数组。

我想知道是否有一种方法可以创建一个数组并用这些值预先填充它,而不是这样做:

int[] anArray = {2017, 2018, 2019, 2020... 3017}

这似乎非常冗长,我可以简单地定义一个我希望添加到数组中的整数范围。

我知道网站上有与此问题类似的问题,但没有一个答案可以帮助我。

谢谢!

编辑:我忘了说我使用的是 Java 7,因此不能使用 IntStream。

【问题讨论】:

  • 有很多方法。你写过什么吗?

标签: java arrays


【解决方案1】:

这个怎么样:

int[] anArray = IntStream.rangeClosed(2017, 3017).toArray(); //closed includes upper bound

Java 7 只需要一个循环来填充数组:

int min = 2017, max = 3017;
int count = max - min + 1; //we're including upper bound
int[] anArray = new int[count];
for (int i = 0; i < count; i++, min++) {
    anArray[i] = min; //reused and incremented min
}

【讨论】:

  • IntStream.rangeClosed(...)
  • 嗯,这是一个想法
  • 这可以完美运行,但是我使用的是 Java 7,所以这不起作用
  • 为您更新。
  • 就是这样!完美
【解决方案2】:

嗯,答案是肯定的。但只是指出java中的另一种方式..您可以计算将要到来的整数的数量并使用迭代器来填充数组。如果您对此有任何疑问,请告诉我。 :

 int arr[] = new int[1001];
for(int i=2017;i<=3017;i++){
  arr[i-2017]=i;
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-15
    • 2013-12-01
    • 2016-02-27
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    相关资源
    最近更新 更多