Unbestimmte Anzahl an Strings zu einen String zusammen führen
-
Ich habe bis zu hundert Strings die in einem Array gespeichert sind und versuche sie mit String Buffer zu einem zusammen zuführen.
public String getPlainMessage() { StringBuffer output = new StringBuffer(100); for (j=0; j<(i-1); j++) { output.append(mes[j]); output.append("/n"); } return output.toString(); }
nur leider funktioniert es nicht
-
"Funktioniert nicht" heißt was genau? Bitte sag nicht, dass es an dem "/n" statt "\n" liegt.
-
Bashar schrieb:
"Funktioniert nicht" heißt was genau? Bitte sag nicht, dass es an dem "/n" statt "\n" liegt.
Nein daran liegt es nicht sonst würde ich im String ja immer nur /n statt einem Umbruch sehen aber das Programm gibt gar nichts aus...
-
Du hast ja auch in dem Programmfragment kein einziges Ausgabe-Statement.
-
Und du hast nicht wirklich ein Feld i genannt? Oder was ist i? Wenn du das ganze Array konkatenieren willst, würde ich eigentlich eine Schleife bis
mes.length-1
erwarten ...
-
StringBuffer sollte nur verwendet werden, wenn du von meheren Threads auf das Objekt zugreifst. Da das hier nicht der Fall ist, kannst du einen StringBuilder verwenden. Umbruch ist "\n" Wenn du ganz sicher gehen willst und auch Betriebsystem unabhängig mach so etwas wie:
public final String LINE_SEPARATOR = System.getProperty("line.separator");
Deine Methode gibt einen String zurück, rufst du diesen Überhaupt auf?
System.out.println(getPlainMessage());
Was steht in deinem Array drinnen?
-
Funktioniert bei mir wunderbar:
class StrBuff { String[] mes = new String[100]; StrBuff() { fillArray(); System.out.print(getPlainMessage()); } public void fillArray() { for(int i = 0; i < mes.length; ++i) { mes[i] = Integer.toString(i); } } public String getPlainMessage() { StringBuffer output = new StringBuffer(100); for (int j=0; j<mes.length; j++) { output.append(mes[j]); output.append("/n"); } return output.toString(); } public static void main(String args[]) { new StrBuff(); } }