Wie füllt man ein zweidimensionales Array mit Java Enhanced Loop?

7

Im Grunde versuche ich das, aber dies lässt nur Array mit zeros gefüllt. Ich weiß, wie man es mit normaler for Schleife wie zB

füllt %Vor%

aber warum funktioniert meine Variante nicht? Jede Hilfe wäre willkommen.

%Vor%     
Shark 14.04.2010, 09:24
quelle

4 Antworten

7

Aus den Sun Java-Dokumenten :

  

Wann sollten Sie die for-each-Schleife verwenden?

     

Immer wenn du kannst. Es verschönert wirklich deinen Code. Leider können Sie nicht überall verwenden. Betrachten wir zum Beispiel die Methode des Aussortierens. Das Programm benötigt Zugriff auf den Iterator, um das aktuelle Element zu entfernen. Die for-each-Schleife blendet den Iterator aus, sodass Sie remove nicht aufrufen können. Daher kann die for-each-Schleife nicht zum Filtern verwendet werden. Ebenso kann es nicht für Schleifen verwendet werden, bei denen Sie Elemente in einer Liste oder einem Array ersetzen müssen, während Sie es durchlaufen .

    
codaddict 14.04.2010, 09:30
quelle
13

Thirler hat erklärt, warum das nicht funktioniert. Sie können jedoch Arrays.fill verwenden, um Ihnen bei der Initialisierung der Arrays zu helfen:

%Vor%     
bruno conde 14.04.2010 09:45
quelle
4

Das liegt daran, dass element char kein Zeiger auf den Speicherort innerhalb des Arrays ist, sondern eine Kopie des Zeichens. Wenn Sie also das Zeichen ändern, wird nur die Kopie geändert. Sie können dieses Formular also nur verwenden, wenn Sie auf Arrays und Objekte (nicht einfache Typen) verweisen.

    
Thirler 14.04.2010 09:27
quelle
0

Die Zuweisung ändert lediglich die lokale Variable element .

    
Marcelo Cantos 14.04.2010 09:28
quelle

Tags und Links