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.