2014-10-07 44 views
0

如何通過for循環的每次迭代來聲明新變量?爲for循環中的每個迭代聲明一個新變量

例如:循環完成

for (int i = 1; i <= 4; i++) { 
    int var1 = i; // in the second iteration, I want a variable var2 set to i, etc. 
} 

後,我想4個變量,命名爲var1var2var3,和var4,每一組至123,和4,分別爲(當我在上面的代碼中將var1設置爲i,我基本上將它設置爲1,因爲在整個特定迭代中這是i的值)。

+2

Java中的聲明不會那樣工作;他們是代碼,他們不是由代碼創建的。 – 2014-10-07 03:47:13

+0

我明白了,我必須使用數組嗎? – Kootling 2014-10-07 03:48:02

+0

你可以把這些東西變成臨時的,並將它們添加到列表或數組中。 – 2014-10-07 03:48:54

回答

1

可以使用四個變量或使用array。以下是陣列替代方案:

int arr[] = new int[5]; 
for (int i = 1; i <= 4; i++) { 
    arr[i] = i; 
} 
+0

我相信OP是要求任何數量的變量。這不會使散列表或列表更好一點嗎? – 2014-10-07 03:50:40

+0

@ T.Woody當然是的,但OP要求4個對象,所以固定大小的數組出現在我腦海。 – 2014-10-07 03:51:46

+0

OP表示「例如」:) – 2014-10-07 03:52:45

1

使用數組,列表,映射或其他類型的數據結構。

例如

int[] arr = new int[4]; 
for (int i = 1; i <= 4; i++) { // well, we usually write in 0-based manner... 
    arr[i-1] = i; 
} 
// if you want to get n-th value, just do arr[n-1] 


List<Integer> list = new ArrayList<Integer>(); 
for (int i = 1; i <= 4; i++) { 
    list.add(i); 
} 
// if you want to get n-th value, just do list.get(n-1) 



Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
for (int i = 1; i <= 4; i++) { 
    map.put(i, i); 
} 
// if you want to get n-th value, just do map.get(n) 

類似的東西。