我在最近的项目中将一些普通的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