2014-02-24 213 views
0

Java新手在這裏。我有一個問題,我肯定必須有一個簡單的解決方案,但我一直在尋找所有,似乎無法找到任何答案我的問題。在循環訪問字符串數組的同時訪問循環變量的當前迭代的索引

我想弄清楚使用什麼表達式來獲取loop循環中的字符串數組循環時當前的循環變量的索引。具體來說,我試圖將在for循環中獲得的一些信息存儲在不同的數組中(我認爲有一種更有效的方法來做到這一點,但我們沒有在類中涵蓋超過一維數組,所以無論如何),在平行指數作爲當前的互動。例如,我試圖將循環的第二次迭代產生的信息存儲在另一個數組的[1]索引中。我試圖通過說new_array [i.indexOf()] =等等等等等,其中我是for循環變量。不幸的是,它告訴我,因爲它是一個字符串,它不能將它轉換爲int或其他東西,在eclipse中彈出的對話框只引用如何訪問該字符串中字符的索引而不是字符串的索引在陣列內循環。

如果有人能幫助我,我會很感激。

+0

相反new_array的[i.indexOf()]你有沒有嘗試過new_array [一世]? – Zavior

+0

是的,它不起作用,因爲它是迭代的字符串索引。循環變量總是包含一個字符串,因此您可以使用array [i]引用數組的索引。 (具體來說 - 「類型不匹配:不能從字符串轉換爲int」) – user3344754

+0

你真的應該粘貼代碼,它根本不清楚你如何解決這個問題:) – Zavior

回答

0

聽起來就像你使用的是一個foreach循環。如果是這樣,你需要引入一個計數器:

int i = 0; 
for (String s : stringArray) { 
    // do something with s, which is at position i in the array 
    i++; // increment counter ready for next iteration 
} 

或者,你可以恢復到一個標準的for循環:

for (int i = 0; i < stringArray.length; i++) { 
    String s = stringArray[i]; 
    // do something with s, which is at position i in the array 
} 
+0

非常感謝。我想在你使用增強的循環時不能訪問索引? – user3344754

+0

否。當*不需要索引時,請使用增強型循環(稱爲* foreach *循環)。否則,請使用常規for循環。 – Bohemian