我正在編寫代碼,並且遇到了這個問題。如何使用for-each
在下文提到的代碼,以執行相同的循環顯示恰好低於(兩個嵌套的for循環):如何在這種情況下用java替換foreach循環(在java中)?
String names[3] = {"A","B","C"};
int result[][] = calculate_exchange(calculate_matrix());//function call returns a 3x3 matrix
/*for(int i[]:result){
for(int j:i){
if(j!=0){
System.out.println(names[]);//how do I use the i'th element?
//names[i] gives an error(obviously!!!)
}
}
}*/
for(int r=0;r<3;r++){//this loop works fine
for(int c=0;c<3;c++){
if(result[r][c]!=0){
System.out.println(names[r]+"->"+names[c]+" = "+result[r][c]);
}
}
}
for(int i[]:result)
使得i
陣列,這樣纔有可能在此使用for-each
案件?
PS:我有我的代碼工作沒有使用for-each
,我問這只是爲了滿足我的好奇心。
我有我的代碼工作,我問這只是因爲我很好奇。 – buch11 2011-12-25 13:52:16
當您不關心索引時,foreach循環很有用。你的代碼需要使用索引。你可以聲明兩個索引變量,但是你的代碼與原代碼相似,但可讀性較差。見Peter Lawrey的答案。其他每一個答案都和我的一樣,不是正確的工具。我認爲我的回答不值得讚揚。 – 2011-12-25 13:57:12
好吧,我得到的東西,感謝您的幫助。 – buch11 2011-12-25 13:59:42