Wie kann man ein 2d-Array in Java abfragen?

4 Antworten

Ein zweidimensionaler Array ist ein Array in einem Array, vereinfacht gesehen. Um Auf Elemente darin zuzugreifen, kannst du genau wie bei einem Array vorgehen:

System.out.println(gameStorage[1][2]);

Du kannst dir diese 2D-Arrays als Tabelle vorstellen, wie hier: 2D Arrays in Java

Um nun herauszufinden, ob ein bestimmter Wert in diesem 2D-Array existiert, könntest du alle Zellen in dieser "Tabelle" durchlaufen und prüfen. Das kannst du mit zwei verschachtelten for-Schleifen machen.

Das könnte zum Beispiel so aussehen:

int zahl = /* die Zahl, die du suchen möchtest */;
for(int x=0; x<gameStorage.length; x++){
    for(int y=0; y<gameStorage[x].length;y++){
        if(gameStorage[x][y].compareTo(zahl) == 0){
            /*Zahl im 2D-Array gefunden*/
            }
    }	
}
Woher ich das weiß:Studium / Ausbildung

Einfacher Ansatz: Du läufst durch alle Felder des Arrays und prüfst jeweils.

Ich gebe nur einen Pseudocode vor, damit du selbst an der konkreten Implementation üben kannst.

zeroIsAvaiable = false
oneIsAvaiable = false

for i in arr.length:
  for j in arr[i].length:
    check if arr[i][j] is 0/1 then set flags           

Der Array hat ja eine feste Größe, wenn du es ganz einfach machen willst, dann nimmst du einfach zwei for-Schleifen, verschachtelst diese, nutzt die Variablen der Schleifen als Indices für den Array und frägst dann für jedes Element mittels if ab, ob es sich um die besagten Zahlen handelt.

Zwei for Schleifen ineinander und dann durchlaufen lassen