Formatierung String Ausgabe in Java
Ich versuche zu formatieren, eine Zeichenfolge in der Ausgabe anders als die Art und Weise ist es bereits formatiert in meinem Programm. Es ist eine pizza-Zutat im Menü und in der Großteil des Programms, sobald es ausgegeben, es ist formatiert mit einem "\n" zwischen den Zutaten, so wie das erstellen einer Liste mit "fühlen". Doch in der letzten Menü, in dem der Anwender zur Auswahl angezeigt wird, möchte ich auch die Zutatenliste, da der Benutzer können anpassen, welche Zutaten auf Ihre pizza. Dies ist schwierig, mit einer vertikalen Liste der Zutaten, weil es machen kann der endgültige Ausgang wirklich lange, wenn der Benutzer mehr als eine pizza. Ich bin versucht, herauszufinden, ob es einen Weg gibt, ich kann die gleiche Zeichenkette, die formatiert wurde für die vertikale Anzeige und zeigen Sie Sie horizontal mit einem Komma zwischen den Zutaten anstelle von "\n". Irgendwelche Ideen? Oder sollte ich Sie einfach erstellen Sie eine neue Zeichenkette, die formatiert ist wie ich es haben möchte mit den Informationen, die ich brauche?
String i1 = "Pepperoni", i2 = "Sausage", i3 = "Canadian Bacon";
String ingredients = i1 + "\n" + i2 + "\n" + i3 + "\n";
System.out.print(ingredients);
System.out.printf("Your pizza includes only these ingredients: %s", ingredients);
Des ersten Systems.aus.print(Zutaten) ist ähnlich wie der code, den ich habe, der druckt die Zutaten, die vertikal durch das Programm, so dass es leicht lesbar für den Benutzer.
Des zweiten Systems.aus.print(...) ist, was ich versuche zu formatieren, so dass die Liste der Inhaltsstoffe zeigt, horizontal.
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#replaceAll(java.lang.String, java.lang.String)
Ich hätte gedacht, dass dies klarer:
Der Punkt ist, wenn Sie gehen, um
printf
an alle, kann man da auch seine Fähigkeit nutzen, um die join-strings zusammen.Aus deinem Kommentar, ich nehme es, dass die Anzahl der Zutaten ist variabel. Wenn das der Fall ist, mit
printf
für die Formatierung der "Liste" (wie ich oben) nicht mithalten. Stattdessen müssen Sie eine helper-Methode wie diese:Dann ...
Ich behaupten, dass diese mehr Allgemeinen (arbeiten mit arrays variabler Größe), einfacher zu verstehen und eventuell effizienter als andere Vorschläge.
(Die
join
Helfer-Methode existiert in verschiedenen Formen in einer Reihe von Klassenbibliotheken, z.B. in den Apache CommonsStringUtils
Klasse. )ersetzen \n mit , ist rookie-Programmierer-Stil und kommen wieder zu beißen, Sie bald. versuchen Sie dies statt für das Komma-Teil (und tun das \n-Teil manuell, wie Sie es bereits tut):