# Mehrdimensionales Char-Array initialisieren



## Syntax6 (19. Nov 2010)

Einen wunderschönen guten Tag .
Ich möchte ein mehrdimensionales Char Array initialisieren. Dazu soll das Array folgerndermßen aussehen:


```
char[][][] = new char[80][30][30]
```

Ich möchte die Zeichenketten wie "Tasche", oder "motor" in das Array unter in die erste Ebene eintragen , das soll sinngemäß dann so aussehen  "char[1][Motor][Tasche] " also die Zeichenketten Motor und Tasche jeweils in die 2. und 3. Ebene. Wie bekomm ich die Zeichenketten an diese Position wenn ich sie aus einem anderen Char Array übergeben will ?

Desweiteren möchte ich dieses Array auch wieder auslesen (also die Zeichenketten "Motor" und "Tasche" ) in ein 2 Dimensionales Array schreiben /schieben [was auch immer ].
Geht das überhaupt den Inhalt eines 3 Dimensionalen Arrays , GEZIELT in ein 2 Dimensionales Array  zu schreiben ?


Vielen Dank 

S6


----------



## Michael... (19. Nov 2010)

Syntax6 hat gesagt.:


> das soll sinngemäß dann so aussehen  "char[1][Motor][Tasche] " also die Zeichenketten Motor und Tasche jeweils in die 2. und 3. Ebene.


Wie soll das dann am Schluss aussehen?


Syntax6 hat gesagt.:


> Geht das überhaupt den Inhalt eines 3 Dimensionalen Arrays , GEZIELT in ein 2 Dimensionales Array  zu schreiben ?


Grundsätzlich: Ja. Alles eine Frage der Definition.


----------



## SlaterB (19. Nov 2010)

fange mit einem eindimensionalen Array an, z.B. mit drei Indexen 0, 1, 2, drei Plätzen für chars

was soll dann array[Tasche] bedeuten? besonders wenn Tasche keine int-Variable mit Inhalt 0 oder 1 ist sondern ein String..


----------



## Syntax6 (19. Nov 2010)

Michael... hat gesagt.:


> Wie soll das dann am Schluss aussehen?
> 
> Grundsätzlich: Ja. Alles eine Frage der Definition.




Zum Schluss möchte ich die Zeichenkette dann speichern in einem Array.
Wie denfiniert man das ?


----------



## Syntax6 (19. Nov 2010)

SlaterB hat gesagt.:


> fange mit einem eindimensionalen Array an, z.B. mit drei Indexen 0, 1, 2, drei Plätzen für chars
> 
> was soll dann array[Tasche] bedeuten? besonders wenn Tasche keine int-Variable mit Inhalt 0 oder 1 ist sondern ein String..




Die Chars "T,A,S,C,H,E" möchte ich in einem Char Array speichern und als ganze Zeichenkette in ein anderes Array verschieben oder auslesen. 

Ich habe mich vielleicht etwas komisch ausgedrückt.

lg
S6


----------



## ARadauer (19. Nov 2010)

char[] array = "Tasche".toCharArray();


----------



## Michael... (19. Nov 2010)

Wofür die dritte "Dimension"?
Meinst Du sowas:

```
char[][] c = new char[2][];
	c[0] = "Tasche".toCharArray();
	c[1] = "Motor".toCharArray();
	for (int i=0; i<c.length; i++) {
		for (int k=0; k<c[i].length; k++)
			System.out.print(c[i][k]);
		System.out.println();
	}
```


----------



## Syntax6 (19. Nov 2010)

Michael... hat gesagt.:


> Wofür die dritte "Dimension"?
> Meinst Du sowas:
> 
> ```
> ...




Ja das ist schon gut. Muss das 2. Feld der Char-Vaiable c nicht einem Wert zugewiesen werden ? Ich wollte ein 3 Dimensionales Array Benutzen um zwei Wörter hintereinander zu setzen. Beispielsweise Vorname und Nachname über die 1. Dimension auslesen zu können. Qusi sollen mir über die Println Anweisung dann Vor und Nachname ausgegeben werden. GEHT DAS AUCH ?

Aber für die Antwort gibt es schonmal ein Danke :applaus:

lg

S6


----------



## SlaterB (19. Nov 2010)

println und Arrays sind generell schlecht, falls du nicht Arrays.toString() verwendest für eine Dimension

ansonsten immer genau vorher überlegen was möchtest, und was davon möglich ist/ wie die Situation ist

> Beispielsweise Vorname und Nachname über die 1. Dimension auslesen zu können.
die erste Dimension nicht nicht 'sowas wie die zweite Dimension, nur halt die erste'


----------



## Michael... (19. Nov 2010)

ohne Sinn und Zweck zu verstehen:

```
int x = .... //Anzahl der Namen
char[][][] names = new char[x][2][];
...
```


----------



## Syntax6 (20. Nov 2010)

Michael... hat gesagt.:


> ohne Sinn und Zweck zu verstehen:
> 
> ```
> int x = .... //Anzahl der Namen
> ...



Der Sinn ist einfach das Auslesen von Vornamen und Nachnamen mit nur einem Aufruf. Also in diesem Fall: 


```
System.out.println(names [x]) ;
```
.

Wäre es damit möglich , den Vor- und Nachnamen auszugeben ? 

Ich hoffe ich drücke mich nicht zu undeutlich aus 


 Vielen Dank 

S6


----------



## ARadauer (20. Nov 2010)

> Wäre es damit möglich , den Vor- und Nachnamen auszugeben ?


nö, du musst dein array murks schon manuell ausgeben, oder du machst dir ein objekt


----------



## Michael... (20. Nov 2010)

Wie soll das gehen? Da müsstest Du die eine Hilfsmethode basteln, die das char Array auswertet und aufbereitet.

Warum ein char-Array. Dir ist schon bewusst, dass ein char Array nur einzelne chars und nicht komplette Strings aufnehmen kann?

Warum nicht eine eigene Klasse (z.B. Person) schreiben, die Name und Vorname als Attribute besitzt und entsprechende Methoden zur Verfügung stellt, z.B String getSurname(), String getName(), String getFullName()...

Die Instanzen diese Klasse kann man dann in ein Array oder noch besser eine List stecken.


----------



## Syntax6 (20. Nov 2010)

Michael... hat gesagt.:


> Wie soll das gehen? Da müsstest Du die eine Hilfsmethode basteln, die das char Array auswertet und aufbereitet.
> 
> Warum ein char-Array. Dir ist schon bewusst, dass ein char Array nur einzelne chars und nicht komplette Strings aufnehmen kann?
> 
> ...




Bin Anfänger, habe also keinen Plan was Klassen sind !
Ich habe mir gedacht, dass über eine For-Schleife jede einzelne Stelle des Char Arrays ausgelesen wird und dann direkt ausgibt oder abspeichert. 

Sicherlich gibt es auch andere "Methoden" um die ganze Sache einfacher zu machen aber zum Verständnis einzelner Zusammenhänge ,würde ich mich mit dem Char-Array begnügen ,vorerst .

lg

S6


----------



## Michael... (20. Nov 2010)

Ein char[][][] ist dafür wohl eine der komplizierten "Methoden" sowas zu speichern.
In dem Fall musst Du Dir die Namen mittels Schleife selbst zusammen setzen.

Wenn's ein Feld sein muss, warum nicht String[][]?


----------



## Syntax6 (20. Nov 2010)

Michael... hat gesagt.:


> Ein char[][][] ist dafür wohl eine der komplizierten "Methoden" sowas zu speichern.
> In dem Fall musst Du Dir die Namen mittels Schleife selbst zusammen setzen.
> 
> Wenn's ein Feld sein muss, warum nicht String[][]?




Bitte ein Char... sonst kann ich nícht schlafen 


lg

S6


----------



## Michael... (20. Nov 2010)

Für ein char-Array hast Du ja die Lösungen hier stehen
Musst nur meinen 2. und 3. Post kombinieren

Um einen Vornamen und Nachnamen zu speichern nimmst Du eine char[][], welches Du in ein char[][][] steckst
Auslesen geht dann wiederum mittels Schleife.


----------



## Syntax6 (21. Nov 2010)

Michael... hat gesagt.:


> Für ein char-Array hast Du ja die Lösungen hier stehen
> Musst nur meinen 2. und 3. Post kombinieren
> 
> Um einen Vornamen und Nachnamen zu speichern nimmst Du eine char[][], welches Du in ein char[][][] steckst
> Auslesen geht dann wiederum mittels Schleife.





Das hört sich gut an. Ich werde es versuchcn und wenn es geklappt hat dann ergänze ich diesen Thread. Vielen Dank für die Hilfe 


S6


----------

