Ich habe da anscheinend zu wenig Vorstellungskraft für, aber wozu braucht man dreidimensionale Arrays und wie initialisiert man sie?
lg
lg
// der Inhalt von Kartons, die 5 x 5 x 5 auf einer Palette gestapelt sind
String[][][] inhalt = new String[5][5][5];
// Inhalt von Kartons auf einer 3 x 3 x 3-Palette
String[][][] nochEinInhalt = new String[][][] {
// erste Lage
{
{"Dosen", "Brot", "Bier"}, // erste Reihe
{"Hosen", "Rot", "Tier"}, // zweite Reihe
{"Rosen", "Lot", "Zier"} // dritte Reihe
},
// zweite Lage
{
{"Hasen", "Reis", "Kaffee"}, // erste Reihe
{"Nasen", "Mais", "Toffee"}, // zweite Reihe
{"Rasen", "Gneiss", "Affe"} // dritte Reihe
},
// dritte Lage
{
{"Kiwi", "Monitor", "Glas"}, // erste Reihe
{"Zivi", "Garagentor", "Gras"}, // zweite Reihe
{"HiWi", "Skeletor", "Spaß"} // dritte Reihe
}
};
int[][][] wuerfel = new int[3][3][3];
System.out.println(wuerfel[1][1][1]; // wäre die Mitte, beim Rubik’s Cube eigentlich das Gelenk
// alle 8 Ecken:
System.out.println(wuerfel[0][0][0]);
System.out.println(wuerfel[2][0][0]);
System.out.println(wuerfel[0][2][0]);
System.out.println(wuerfel[2][2][0]);
System.out.println(wuerfel[0][0][2]);
System.out.println(wuerfel[2][0][2]);
System.out.println(wuerfel[0][2][2]);
System.out.println(wuerfel[2][2][2]);
was aber wie schon gesagt wurde durch ein intuitiveres model wesentlich angehmer zu pflegen ist, als einen n Dimensionalen raum als n-dim. Array abzubilden....Oder um es mit den Worten meine Geometrie-Professors zu sagen: "wir leben nicht in einer 3dimensionalen Welt, sondern in einer n-dimensiponalen." Soll heißen: du kannst dir zu jeder xyz-Koordinate im Raum z.B. einen Druck, eine Temperatur oder was weiß ich sonst noch zuordnen, was dann eine vierte Dimension wäre. Genauso ist es mit Arrays, wo jedes Tripel für eine Koordinate steht und dann dementsprechend einen Wert (z.B: Temperatur) besitzt.
wer will schon garantieren dass man bei [c]array[8][4][4][2][1][2] = 2[/c] den richtigen index getroffen hat ;-)
class Array3D
{
Object get(Index3D index);
....
}
class Index3D { int x, int y, int z; ... }