Datentypen Char Array in String Array gibt Probleme

MisterPond

Mitglied
Hallo!

Ich habe ich endlich hier mal im Forum angemeldet, habe bisher nur drüber gelesen wenn ich beim suchen im www hier fündig geworden bin.

Und zwar ist der Kontext eigentlich einfach, ich will ein char array in ein string array konvertieren.
Ich habe ein Char Array vorher gefüllt, und müsste das doch eig. so als String hinbekommen:

Java:
public static char Karte[][] = new char[10][10];
..
String StringKarte = String.valueOf(Karte);

Das charArray beinhaltet folgendes:

----------
----------
----------
----------
----@-----
----------
----------
----------
----------
----------

Mein String Array gibt aber dieses hier aus:

[[C@416b13c7

Zum Hintergrund: Ich bin in einer Spieleplanung, und das wird mein Spielfeld. Und das Spielfeld möchte ich in später in einem Fenster darstellen, einfach als JTextField, und dafür muss es ja ein String sein.

Das Spielfeld besteht nur aus einem Array auf ASCII Basis.

Ich würde mich sehr über Hilfe freuen, ich habe nämlich bisher nichts gefunden was mein Problem beheben kann ..

Schöne Grüße!
Ponti
 

Fu3L

Top Contributor
Du übergibst ein Zweidimensionales Array... Dafür scheint es keine valueOf-Methode zu geben. Ich nehme an, es wird einfach die toString-Methode des Arrays aufgerufen, was dann ein solches Ergebnis liefert.
Erstelle doch ein String-Array und Iteriere mit einer for-schleife gleichzeitig über das String array und die erste Dimension deines Char-Arrays und befülle dann den aktuellen Platz des String arrays mit dem aktuellen char-array aus der zweiten Dimension.
 
S

Spacerat

Gast
Java:
String StringKarte = "";
for(int n = 0; n < Karte.length; n++) {
  StringKarte += String.valueOf(Karte[n]);
}
Sollte so gehen. Besser aber man arbeitet mit StringBuffer o.ä.
 

MisterPond

Mitglied
Java:
String StringKarte = "";
for(int n = 0; n < Karte.length; n++) {
  StringKarte += String.valueOf(Karte[n]);
}
Sollte so gehen. Besser aber man arbeitet mit StringBuffer o.ä.

So hab ich mir das auch gedacht, und direkt mal umgesetzt.
Da ich ein 2D Char Array habe und das später in ein großes JTextArea einsetzen will, bleibt mir ja eig. nichts anderes übrig als das 2D Char Array in ein 1D String Array zu konvertieren.

Dafür habe ich deine Variante genutzt, und in der Zeile die einzelnen Chars aneinander gepappt.
An sich funktioniert das System, aber irgendwie verhaut der mir die Zeichen .. ???:L

Das hier

----------
----------
----------
----------
----@-----
----------
----------
----------
----------
----------

Wird zu


null[C@2d8941f7[C@2d8941f7[C@2d8941f7[C@2d8941f7[C@2d8941f7[C@2d8941f7[C@2d8941f7[C@2d8941f7[C@2d8941f7[C@2d8941f7
null[C@e49d67c[C@e49d67c[C@e49d67c[C@e49d67c[C@e49d67c[C@e49d67c[C@e49d67c[C@e49d67c[C@e49d67c[C@e49d67c
null[C@11a06e38[C@11a06e38[C@11a06e38[C@11a06e38[C@11a06e38[C@11a06e38[C@11a06e38[C@11a06e38[C@11a06e38[C@11a06e38
null[C@3ba42792[C@3ba42792[C@3ba42792[C@3ba42792[C@3ba42792[C@3ba42792[C@3ba42792[C@3ba42792[C@3ba42792[C@3ba42792
null[C@162200d5[C@162200d5[C@162200d5[C@162200d5[C@162200d5[C@162200d5[C@162200d5[C@162200d5[C@162200d5[C@162200d5
null[C@1264ab4d[C@1264ab4d[C@1264ab4d[C@1264ab4d[C@1264ab4d[C@1264ab4d[C@1264ab4d[C@1264ab4d[C@1264ab4d[C@1264ab4d
null[C@f2a55aa[C@f2a55aa[C@f2a55aa[C@f2a55aa[C@f2a55aa[C@f2a55aa[C@f2a55aa[C@f2a55aa[C@f2a55aa[C@f2a55aa
null[C@245e13ad[C@245e13ad[C@245e13ad[C@245e13ad[C@245e13ad[C@245e13ad[C@245e13ad[C@245e13ad[C@245e13ad[C@245e13ad
null[C@1c5dd582[C@1c5dd582[C@1c5dd582[C@1c5dd582[C@1c5dd582[C@1c5dd582[C@1c5dd582[C@1c5dd582[C@1c5dd582[C@1c5dd582
null[C@546c585a[C@546c585a[C@546c585a[C@546c585a[C@546c585a[C@546c585a[C@546c585a[C@546c585a[C@546c585a[C@546c585a

???:L???:L???:L
 

Michael...

Top Contributor
Bei einem 2dim -Array benötigst Du verschachtelte for-Schleifen:
Java:
for (int r=0; r<Karten.length; r++) {
    for (int c=0; c<Karten[r].length; c++) {
        ....
    }
    ....
}

Variablennamen beginnen in Java mit einem kleinBuchstaben.
 

nrg

Top Contributor
Also wenn dann schon einen StringBuilder. String-Verkettungen sind nicht nur hässlich sondern auch, weil immutable, schlecht (optimierung hin oder her, sowas schreibt man nicht). Variablen sind btw. lowerCamelCase
 

chalkbag

Bekanntes Mitglied
Brauch ich doch nicht zwangsweise 2 Schleifen.

Java:
public class test {

	public static void main (String... args){
		char[][] array = new char[][]{{'-','-','-'},{'-','@','-'},{'-','-','-'}};
		print2DCharArray(array);
	}

	private static void print2DCharArray(char[][] array) {
		StringBuilder strb = new StringBuilder();
		for(char[] row: array){
			strb.append(row);
			strb.append("\n");
		}
		System.out.println(strb.toString());
	}
	
}

führt doch zu

Java:
---
-@-
---
 

MisterPond

Mitglied
StringBuilder - geiler Hinweis, hat so geklappt wie ich mir das vorgestellt hab.
Traumhaft!

Danke! :toll:

MUss ich mir noch ein paar Beispiele ansehen was man mit dem Ding alles so machen kann, sieht aber sehr besser aus als meine Variante mit dem Zusammenpappen der einzelnen Fragmente.
 
S

Spacerat

Gast
Also wenn dann schon einen StringBuilder. String-Verkettungen sind nicht nur hässlich sondern auch, weil immutable, schlecht (optimierung hin oder her, sowas schreibt man nicht). Variablen sind btw. lowerCamelCase
Ja... natürlich ;) . Aber erstens habe ich mir die "Lösung" oben nur mal eben so ungetestet aus den Ärmeln geschüttelt und zweitens kommt der StringBuilder bei mir erst bei der Optimierung zum Einsatz - schlechte Angewohnheit, aber StringBuffer war halt zu erst da und ist gegenüber dem Builder nur synchronized. Natürlich stimmt auch das mit dem camelCase - Ich verwende für Beispiele allerdings die Variablen des Fragestellers bzw. Themenstarters, damit er die "Lösung" möglichst einfach einfügen kann.
Warum meine "Lösung" aber beim Themenstarter nicht funktioniert ist mir ein Rätsel, weil bei mir hat sie dieses in einem anschliessenden Test getan.
Naja, was soll's Die Lösung mit StringBuilder steht ja nun schon dort und scheint auch zu funzen. Vorsicht aber bei dessen Verwendung in MultiThread-Anwendungen ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D 2D Char Array into String Java Basics - Anfänger-Themen 2
R String in char-Array übertragen Java Basics - Anfänger-Themen 5
I char Array to String Java Basics - Anfänger-Themen 3
C Methoden String in char Array Java Basics - Anfänger-Themen 3
D Best Practice String aufbau - Char Array oder Anhängen Java Basics - Anfänger-Themen 11
P Datentypen String auf JTextField wird zu Char-Array und anschließend zu int Java Basics - Anfänger-Themen 12
N Methode die String in char-Array wandelt!! Java Basics - Anfänger-Themen 11
D Erste Schritte String Array in char Array umwandeln? Java Basics - Anfänger-Themen 1
E Char-Array zu String Java Basics - Anfänger-Themen 2
B Unterschied zwischen String & char Array? Java Basics - Anfänger-Themen 5
B Datentypen Char Array in einen String verwandeln? Java Basics - Anfänger-Themen 2
J String in char Array Java Basics - Anfänger-Themen 2
N String/char-array aus datei auslesen Java Basics - Anfänger-Themen 2
M Char Array mit Sonderzeichen in String umwandeln Java Basics - Anfänger-Themen 21
T String als Array und Umwandlung in Char Java Basics - Anfänger-Themen 7
H char Array in String Java Basics - Anfänger-Themen 7
S String in char-Array einfügen Java Basics - Anfänger-Themen 8
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
A char array wird überschrieben Java Basics - Anfänger-Themen 6
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
C (char) Array einlesen Java Basics - Anfänger-Themen 8
H char-Array Java Basics - Anfänger-Themen 22
E Wie wird in Java ein Char-Array terminiert ? Java Basics - Anfänger-Themen 15
W Char Array bearbeiten Java Basics - Anfänger-Themen 6
A Char-Array erstellen Java Basics - Anfänger-Themen 35
Z char Array unbekanntes Zeichen selbstständig anlegen Java Basics - Anfänger-Themen 6
M Bestimmen, wie oft ein Char in einem Array vorkommt Java Basics - Anfänger-Themen 2
C char array-positionstausch Java Basics - Anfänger-Themen 6
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
S For Schleife Char Array Java Basics - Anfänger-Themen 1
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
B char Array mit ints Java Basics - Anfänger-Themen 7
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
S Array - index von Benutzer eingegebenen char ausgeben Java Basics - Anfänger-Themen 3
M char Array füllen Java Basics - Anfänger-Themen 2
H ArrayList mit char- Array befüllen Java Basics - Anfänger-Themen 12
D Char Array ab bestimmter Stelle in neuem Speichern Java Basics - Anfänger-Themen 13
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20
C Leerzeichen im char Array setzen Java Basics - Anfänger-Themen 33
J Alle Vorkommen eines chars in einem Array durch einen anderen char ersetzen Java Basics - Anfänger-Themen 10
M Char-Array Problem Java Basics - Anfänger-Themen 6
F Char Array splitten Java Basics - Anfänger-Themen 5
S Mehrdimensionales Char-Array initialisieren Java Basics - Anfänger-Themen 17
S char Array in Character KlassenArray? Java Basics - Anfänger-Themen 24
Semox Datentypen Einlesen von char in Array schlägt unerwartet fehl Java Basics - Anfänger-Themen 4
H Datentypen char array in int umwandeln Java Basics - Anfänger-Themen 9
J char array eintraege geben Java Basics - Anfänger-Themen 2
T Char Array in fremder Klasse Java Basics - Anfänger-Themen 20
S Char Array Werte in short variablen speichern Java Basics - Anfänger-Themen 4
P Array index per char suche auslesen Java Basics - Anfänger-Themen 3
M 2D char Array anzeigen Java Basics - Anfänger-Themen 4
G Zeichenkette in char-Array konvertieren Java Basics - Anfänger-Themen 13
M wie auf ein feld mit leerzeichen in einem char array prüfen? Java Basics - Anfänger-Themen 4
J Verständnisfrage zu Char-Array Java Basics - Anfänger-Themen 5
M char Array in int Array Java Basics - Anfänger-Themen 3
J Array - Vertauschen Problem mit char/int Java Basics - Anfänger-Themen 6
Jen Array einlesen, Int und Char Java Basics - Anfänger-Themen 57
J Char-Array mit variabler Länge zurückliefern. Java Basics - Anfänger-Themen 11
B Deklaration eines char-array Java Basics - Anfänger-Themen 2
F abc char array Java Basics - Anfänger-Themen 3
J char[] reverse Array Java Basics - Anfänger-Themen 9
G Zufällige Buchstaben in char-Array Java Basics - Anfänger-Themen 9
0 Häufigstes Zeichen in einem Char-Array ermitteln? Java Basics - Anfänger-Themen 6
J StringBuffer-Objekt soll auf Char-Array zugreifen. Java Basics - Anfänger-Themen 4
F char to byte array Java Basics - Anfänger-Themen 8
G Char oder Byte Array mit unbekannter länge erstellen? Java Basics - Anfänger-Themen 1
S Testen ob ein Char Array noch nicht belegt ist! Java Basics - Anfänger-Themen 3
G Char Array konvertieren Java Basics - Anfänger-Themen 7
megachucky probleme mit einem char-array. Java Basics - Anfänger-Themen 6
E Ziffer in char-Array Java Basics - Anfänger-Themen 2
G Array und Char Java Basics - Anfänger-Themen 3
Tommilee Char ausgeben Java Basics - Anfänger-Themen 5
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
P9cman Char Index rekursiv finden Java Basics - Anfänger-Themen 4
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
W char über die Konsole? Java Basics - Anfänger-Themen 7
C char c Java Basics - Anfänger-Themen 13
D String und char in String speichern Java Basics - Anfänger-Themen 5
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
P Methoden Namen trennen mit .substring(), char.At(), .lenght() Java Basics - Anfänger-Themen 8
A Datentyp char Java Basics - Anfänger-Themen 27
A Char und modulo Java Basics - Anfänger-Themen 8
F Switch case wird als char nicht erkannt.... Java Basics - Anfänger-Themen 6
D Datentypen Char deklaration Java Basics - Anfänger-Themen 4
J Java char.at() Probelm Java Basics - Anfänger-Themen 12
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
M Die länge von char Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben