2013-06-05 39 views
0

它是一個非常簡單的問題,我如何添加一個數字「數字[]」一次一個?添加一個數字到「數字[]」在一個循環中

它的一個簡單的例子: 通常以填補我們做這個號碼:

Number[] series1Numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9} 

但我怎麼將號碼添加到本月底?像這將導致與上面相同:

for(int i=1; i<10; i++){ 
nextNumber = i; 

Number[] seriesOfNumbers = {+ nextNumber}; //This dosnt work, so i need to change it somehow 
} 
+0

不能元素添加到使用數組文本已定義的陣列。你需要使用'List'。 – NINCOMPOOP

回答

3

如果你知道的大小已經很容易了:

Number[] seriesOfNumbers = new Number[9]; 
for(int i=1; i<10; i++){ 
    nextNumber = i; 
    seriesOfNumbers[i - 1] = nextNumber; 
} 

但是,通常它會更好地使用List

List<Number> seriesOfNumbers = new ArrayList<Number>(); 
for(int i=1; i<10; i++){ 
    nextNumber = i; 
    seriesOfNumbers.add(nextNumber); 
} 

數組總是有一個固定的大小 - 一旦你創建了數組對象,你不能添加或刪除元素;你只能設置和獲取它們。 ArrayList<T>仍然使用數組作爲後備存儲,但會在需要時創建新數組(並複製現有值)以適應更多項目。

1

使用Collection而不是數組:

List<Number> series1Numbers = new ArrayList<Number> 

for(int i=1; i<10; i++) 
    series1Numbers.add(i); 

,如果你需要的陣列

Number []series1NumbersArray = new Number[series1Numbers.size()]; 
series1Numbers.toArray(series1NumbersArray); 
1

另一種解決方案可以是:

Number[] seriesOfNumbers = new Number[9]; 

for(int i=0; i<seriesOfNumbers.length; i++) 
{ 
    seriesOfNumbers[i] = i+1; 

}