Ich konvertierte eine Reihe von normalen for-Schleifen zu for-each-Schleifen in meinem letzten Projekt und stieß auf ein paradoxes Problem.Java For-Each-Schleife Datentyp
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 ist ein zweidimensionales int array (int[][]
)
ein ‚Karte‘ zu halten mapBR ist ein BufferedReader der externen Datei, die die ‚Karte‘ von
Die ersten genommen wird Nested for Loop-Set liest die Datei, die zweite verschachtelte für jedes Set schreibt es in die Konsole, um sicherzustellen, dass es richtig gelesen wird.
Ich konnte keinen Weg sehen, den ersten for-Schleife-Set-Arbeit als für-jede Schleifen, so dass ein Teil-Problem wäre ich würde mich freuen, wenn jemand mir auch helfen könnte.
Wie auch immer, zurück zum Hauptproblem. Wenn ich (versuche) dies zu kompilieren, gibt der Compiler einen Fehler zurück, der besagt, dass die int[] c : imgMap[r]
Zeile inkompatible Typen hat, aber, und hier ist der Haken, wenn ich ihn auf int c : imgMap[r]
, ändere, hustet es den gleichen Fehler! Da ich nicht sehen kann, wie es anders sein könnte als einer dieser Typen bin ich verwirrt.
Ich hoffe, ich habe genug Informationen zur Verfügung gestellt.
IAmThePiGuy
dankt allen, die so schnell beantwortet, es erstaunt mich immer noch die Wärme dieser Online-Community. Übrigens, wenn jemand einen Weg finden könnte, das verschachtelte für Set in ein verschachteltes für jedes Set ähnlich zu machen, wäre ich dankbar. – cortices
Alles wurde gelöst und Happy Compiler! – cortices