我在最近的項目中將一些普通的for循環轉換爲for循環,並且遇到了一個矛盾的問題。Java對於每個循環的數據類型不匹配
imgMap = new int[rows][cols];
for (int r=0; r<imgMap.length; r++) {
rowArray = mapBR.readLine().split(",");
for (int c=0; c<imgMap[r].length; c++) {
imgMap[r][c] = Integer.parseInt(rowArray[c]);
}
}
System.out.println(imgMap.length+", "+imgMap[0].length);
// print array in rectangular form
for (int[] r : imgMap) {
for (int[] c : imgMap[r]) {
System.out.print(" " + c[0]);
}
System.out.println("");
}
imgMap是二維int數組(int[][]
)用於保持「地圖」
mapBR是外部文件,該「映射」從
第一個採取的一個BufferedReader嵌套for循環集讀取文件,第二個嵌套for-each集將其寫入控制檯以確保其正確讀取。
我看不到一種方法可以將循環設置爲第一循環,因爲這是一個子問題,如果有人能夠幫助我,我會很高興。
無論如何,回到主要問題。當我(嘗試)編譯這個編譯器反芻錯誤說,int[] c : imgMap[r]
行具有不兼容的類型,但是,這裏是捕獲,當我將其更改爲int c : imgMap[r]
,它咳嗽了同樣的錯誤!因爲我不明白它是如何可能是除了這些類型之一,我flummoxed。
我希望我已經提供了足夠的信息。
IAmThePiGuy
感謝大家誰這麼快回答,但它仍然使我驚奇這個在線社區的溫暖。順便說一句,如果有人可以想出一種方法來將嵌套設置爲嵌套for-each集合類似,我將不勝感激。 – cortices 2010-12-15 09:16:04
全部解決了並且快樂的編譯器! – cortices 2010-12-15 09:36:14