![](/img/trans.png)
[英]Recursive method that will compute the sum of the first n integers in an array of at least n integers. Begin with nth integer
[英]Java: Array of first n integers
在不進行顯式循環的情況下創建前n個整數的Java數組的任何快捷方式? 在R中,它會
intArray = c(1:n)
(並且得到的矢量將是1,2,...,n)。
如果你使用的是java-8 ,你可以這樣做:
int[] arr = IntStream.range(1, n).toArray();
這將創建一個包含[0, n)
整數的數組。 如果要在結果數組中包含n
,可以使用rangeClosed
。
如果要指定步驟,可以iterate
然后limit
流以獲取所需的前n
元素。
int[] arr = IntStream.iterate(0, i ->i + 2).limit(10).toArray(); //[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
否則我想最簡單的方法是使用循環並填充數組。 如果需要,可以創建輔助方法。
static int[] fillArray(int from, int to, int step){
if(to < from || step <= 0)
throw new IllegalArgumentException("to < from or step <= 0");
int[] array = new int[(to-from)/step+1];
for(int i = 0; i < array.length; i++){
array[i] = from;
from += step;
}
return array;
}
...
int[] arr3 = fillArray(0, 10, 3); //[0, 3, 6, 9]
您可以根據需要調整此方法,從上行到下行,並使用負步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.