2dimensionales array, Lagerverwaltung

Diskutiere 2dimensionales array, Lagerverwaltung im Java Basics - Anfänger-Themen Bereich.
H

handshake45

Danke für die Erläuterung. Nein, das geht tatsächlich nicht... Ich möchte keine ArrayList nachimplementieren. ;)
 
mihe7

mihe7

int[][]kiste = (4,10,10,10);
Nein, Deine Kiste ist kein zweidimensionales Array, nur ein eindimensionales. In diesem eindimensionalen Array werden vier Werte gespeichert, also wird eine Kiste mit new int[4]; erzeugt. Damit wir mit der Kiste arbeiten können, weisen wir diese neue Kiste noch einer Variablen zu:
Java:
int[] kiste = new int[4];
Jetzt hast Du ein "Lager" (Variablen kisten - mit n am Ende) und wir sagen einmal, wir möchten die eben erzeugte Kiste an Position 15 im Lager einlagern, dann können wir schreiben:
Java:
kisten[15] = kiste;
Das ist jetzt der Grund, warum man die "Zeilen" zuerst angibt. Würdest Du kisten mit new int[4][75] erzeugen, könntest Du nicht direkt auf die 15. Kiste zugreifen - bei new int[75][4] schon. Es wird aber noch besser: die zweite Angabe kannst Du Dir sparen, weil in Java ein zweidimensionales Array einfach ein Array von Arays ist: kisten = new int[75][]; reicht also aus, um zu sagen: ich will ein Array, das Platz für 75 int-Arrays hat.

Verstanden?
 
C

Codix

weil wir aber ein 2D array haben, sollte wir das hier anwenden:
Nein, Deine Kiste ist kein zweidimensionales Array, nur ein eindimensionales. In diesem eindimensionalen Array werden vier Werte gespeichert, also wird eine Kiste mit new int[4]; erzeugt. Damit wir mit der Kiste arbeiten können, weisen wir diese neue Kiste noch einer Variablen zu:
Java:
int[] kiste = new int[4];
Jetzt hast Du ein "Lager" (Variablen kisten - mit n am Ende) und wir sagen einmal, wir möchten die eben erzeugte Kiste an Position 15 im Lager einlagern, dann können wir schreiben:
Java:
kisten[15] = kiste;
Das ist jetzt der Grund, warum man die "Zeilen" zuerst angibt. Würdest Du kisten mit new int[4][75] erzeugen, könntest Du nicht direkt auf die 15. Kiste zugreifen - bei new int[75][4] schon. Es wird aber noch besser: die zweite Angabe kannst Du Dir sparen, weil in Java ein zweidimensionales Array einfach ein Array von Arays ist: kisten = new int[75][]; reicht also aus, um zu sagen: ich will ein Array, das Platz für 75 int-Arrays hat.

Verstanden?
Danke@mihe7
wir wollten es 2D machen wegen den angaben: Höhe, Länge, Breite. Somit hätten 75 Kisten mit je 3 Angaben bezüglich der Kistenmasse.
 
T

temi

Es ist nach wie vor 2D und ob drei oder vier Angaben, ist völlig egal. Eine einzelne Kiste ist eine Zeile in diesem Array.
Zur Verdeutlichung, noch einmal zurück zu einem der früheren Beiträge, wo du das schön sehen kannst:
Code:
             id   b    l    h
Kiste 1    |    |    |    |    |
Kiste 2    |    |    |    |    |
...
Kiste 75   |    |    |    |    |
Eine Kiste ist ein Array von drei (oder vier) Werten. Und davon hast du 75.
 
Thema: 

2dimensionales array, Lagerverwaltung

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben