[Java] Array zusammengesetzt ausgeben ?

11/05/2014 19:58 Dantox#1
Hallo, Community.

Ich habe in meinem Code einen Array, mit verschiedenen Werten. Diesen möchte ich zusammengesetzt ausgeben lassen und auch verwenden können. Ausgeben lassen habe ich diesen so:

Code:
for(String x : array){
     System.out.print(x);
}
So werden die einzelnen Werte aber nur aneinander angereiht, und ich kann die ganze Zusammensetzung nicht als Variable speichern bzw. benutzen.

Dann habe ich mir das hier überlegt:

Code:
String test = "";

for(int i = 0; i < array.length; i++){
     test = test + array[i];
}
Aber irgendwie sind immer noch Leerzeichen dazwischen.. Und wirklich elegant ist das denke ich auch nicht.

Weiß jemand evlt. 'ne Lösung wie ich die Werte eines Array zusammenfassen und als Variable initialisieren kann?

Grüße, Dantox.
11/05/2014 20:05 Obilee#2
Du hast also ein Array mit Strings und willst den in einen String reinschreiben und dann ausgeben ?

Warum willst du den als einen String ausgeben ? Wenn du in den String noch Leerzeichen hast heißt es dass du die Werte mit Leerzeichen speicherst. Also Lösche die einfach raus bevor sie du in ein String hinzufügst.

Zeig am besten die Ausgabe wie sie jetzt ist mit Beispielwerten und danach wie du sie gerne haben willst.
11/05/2014 20:14 xXKonaXx#3
Code:
String test = "";

for(String s : array){
     test += s;
}

test.replaceAll(" ", "");
11/05/2014 20:15 NoTeefy#4
Benutze doch einfach eine Arraylist? Die erspart dir viel mehr Zeit und liefert auch direkt eine schöne Ausgabe :)
11/05/2014 20:22 Dantox#5
Den Array habe ich nur benutzt um mehre Werte zu speichern, dieser erweiterbar ist, und ich keine weiteren Variablen erstellen muss.

Quote:
Originally Posted by Obilee View Post
Du hast also ein Array mit Strings und willst den in einen String reinschreiben und dann ausgeben?
Korrekt.

Quote:
Originally Posted by Obilee View Post
Warum willst du den als einen String ausgeben ?
Damit der Array wie ein Wort zusammengefasst ist und es nicht nur so aussieht. So ist das weitere verwenden denke ich einfacher, und ich muss die einzelnen Werte nicht ansprechen.

Quote:
Originally Posted by Obilee View Post
Wenn du in den String noch Leerzeichen hast heißt es dass du die Werte mit Leerzeichen speicherst. Also Lösche die einfach raus bevor sie du in ein String hinzufügst.
Da ist mir bewusst. Es geht darum, dass es ohne Leerzeichen nur so aussieht, und nicht so ist.

Quote:
Originally Posted by xXKonaXx View Post
Code:
String test = "";

for(String s : array){
     test += s;
}

test.replace(" ", "");
Teste ich gleich mal. Danke! :)

Quote:
Originally Posted by ˹№ɫᴇᴇբץ˼ View Post
Benutze doch einfach eine Arraylist? Die erspart dir viel mehr Zeit und liefert auch direkt eine schöne Ausgabe :)
Die habe ich davor schon in einen normalen Array umgewandelt, davor war es eine Arraylist.
11/05/2014 20:27 xXKonaXx#6
Mein Beispiel würde nicht funktionieren, da die Funktion einen neuen String zurückgibt.

So sollte es gehen:

Code:
String test = "";

for(String s : array){
     test += s;
}

test = test.replaceAll(" ", "").toUpperCase();
11/05/2014 20:33 'Heaven.#7
Oder einfach
Code:
Arrays.toString(i1).replace("[","").replace("]","").replace(" ","").replace(",","");
Braucht dann den ns java.util.Arrays
11/05/2014 20:49 snow#8
Man kann noch so viele Funktionen aneinanderhängen, letztendlich löst es das Problem aber nicht da wo es auftritt.

Wenn das Problem ist, dass Leerzeichen vorhanden sind, sollte entweder überprüft werden, warum die überhaupt existieren und sollte das dort warum auch immer nicht lösbar sein, kann man immer noch das ganze innerhalb der Schleife lösen:

Code:
StringBuilder builder = new StringBuilder();
for (String element : array) {
    builder.append(element.trim());
}
String result = builder.toString();
So spart man sich das spätere Bearbeiten des Problems, das evtl. weitere Probleme mit sich bringt.
11/05/2014 20:51 Dantox#9
Danke für eure Hilfe! :)

Hab das ganze jetzt über'n Haufen geworfen, da mir aufgefallen ist, dass ich das ganze noch verwenden muss. (._.) Ich parse die Strings einfach und gut ist.