Wie kann ich bei Java auf inhalte in einem Array zugreifen?

...komplette Frage anzeigen

2 Antworten

Zuerst musst du verstehen, dass du auf ein 2-Dimensionales-Array zugreifst. Bei deinem Beispiel hast du zB die Dimensionen x und y in Feld[x][y].

new Feld[x][y] ist dasselbe wie new Feld[x] und new Feld[y] zusammen oder auch new Feld[x*y] (im Prinzip sind es 100 Felder, die Man anspricht @10x10).

Zu jedem Feld[x] hast du also y (nicht initialisierte!!) Instanzen.

Ich hab mir die Zeit genommen und nen Code vorbereitet:

http://goo.gl/pqP95z

Anstatt wie im Code "width" und "height" zu nutzen, hättest du für die Abbruchbedingung von i "test.length" und für j "test[i].length" nehmen können.

Mit "width" und "height" kannst du jedoch dynamisch bestimmen, wie groß dein Areal wird.

Antwort bewerten Vielen Dank für Deine Bewertung

Klassen schreibt man groß...
Aber jetzt noch mal ausführlich, wo soll diese Methode stehen, was soll sie tun? Deine Beschreibung wirkt sehr komisch.

Antwort bewerten Vielen Dank für Deine Bewertung
SpasLos 13.06.2016, 22:04

private feld[][] felder = new feld[10][10];

public Test(){

     for(int j = 0; j < 10; j++){
          for(int i = 0; i < 10; i++){
               feld.setNummer(i+j);
         }
     }

}

So weit, so gut. Nur möchte ich für jedes Feld im array die Nummer setzen. Also müsste ich wissen, wie ich die Methode in abhängigkeit von dem Array aufrufe.

0
RedKungFuMastr 13.06.2016, 22:33
@SpasLos

Ergo:

feld[] feldX = new feld[10];// -> i
feld[] feldY = new feld[10];// -> j
0
RedKungFuMastr 13.06.2016, 22:35
@SpasLos

Weißt du überhaupt, was eine Klasse ist? Ich denke die Antwort kannst du dir selbst ausmalen...

0
SpasLos 13.06.2016, 23:00
@SpasLos

Ok, hat sich nun erledigt. Ich mache es jetzt etwas aufwändiger, aber dann schaffe ich das wenigstens ^^

0
androhecker 13.06.2016, 22:10

Ich glaube du hast da was in Java nicht ganz verstanden, wenn ich das richtig verstanden habe was du da geschrieben hast. Vielleicht meinst willst du ja sowas: felder[j][i] = i+j; Schreib am besten mal ausführlich was du damit überhaupt bezwecken willst.

0
SpasLos 13.06.2016, 22:18
@androhecker

Das was du da geschrieben hast, hatte ich auch vorher so.

Mein Ziel Sinngemäß: Ich möchte ein Spielfeld von 10*10 erstellen, auf dem ich Spielfiguren bewegen kann. Wenn aber ein Spielfeld schon voll ist, soll dort keine weitere Figur drauf gehen können und mir soll die dortige Figur ausgegeben weden.

Nun möchte ich mir für jedes [i][j] eine Zahl ausgeben lassen und ob dort schon etwas steht,oder nicht und wenn ja, Was.

0
androhecker 13.06.2016, 22:22

Also stellt die Klasse Feld einen einzigen x und y Wert auf den Spielfeld dar? Oder ist es das gesamte Spielfeld und dieses enthält den Array?

0

Was möchtest Du wissen?