2016-12-07 397 views
3

我需要创建一个数组,看起来像这样:如何用简单的for循环创建一个数组?

[0,0,1,1,2,2,3,3,4,4....] 

鉴于我下面的代码,我怎么能消除counter

int[] SomeArray = new int[24]; 
int counter = 0; 
for(int x = 0 ; x < SomeArray.length-1 ; x++){ 
    SomeArray[x] = counter; 
    SomeArray{x+1] = counter; 
    counter++; 
} 
+1

当前代码仅通过一个步骤增加的x,所以输出应该是0 1 2 3 4 5 6 .... – beetlej

回答

3

在Java 8+,您可以根据需要可以使用一个IntStream.range(int, int)map每个值。喜欢的东西,

int[] someArray = IntStream.range(0, 24).map(x -> { 
    return x/2; 
}).toArray(); 

另外,请遵循Java变量的命名规则(someArray,不SomeArray)。

如果你有使用Java 7(或更早),那么你就可以像

int[] someArray = new int[24]; 
for (int i = 0; i < someArray.length; i++) { 
    someArray[i] = i/2; 
} 
+0

im使用机器人工作室,所以我需要使用Java 6. –

+0

@דודיחיסין编辑。下一次,为了更快地获得更好的帮助,请在您的问题中加入相关的详细信息。 –

+0

好的thx很多!这对我有效! –

1

使用增量做X = X + 2作为阵列的两个指标都存储在每次迭代

for(int x = 0 ; x < SomeArray.length-1 ; x+=2){ 
     SomeArray[x] = x/2; 

     SomeArray[x+1] = x/2; 
}