Java: Einfacher hübscher Druck?

8

Am Ende meiner Berechnungen drucke ich Ergebnisse:

%Vor%

Dies erzeugt zum Beispiel:

%Vor%

Wenn man nur zwei \t hineinstellt, ist das etwas ungeschickt - die Spalten sind nicht richtig ausgerichtet. Ich hätte lieber eine Ausgabe wie folgt:

%Vor%

(Hinweis: Ich habe Probleme, den SO-Texteditor so auszurichten, dass Sie diese Zeilen perfekt aufbereiten, aber hoffentlich verstehen Sie das.)

Gibt es eine einfache Möglichkeit, dies zu tun, oder muss ich eine Methode schreiben, um zu versuchen, es herauszufinden, basierend auf der Länge der Zeichenfolge in der Spalte "Tree"?

    
Nick Heiner 09.12.2009, 18:41
quelle

6 Antworten

14

Sie suchen Feldlängen. Versuchen Sie Folgendes:

%Vor%

Das -32 sagt Ihnen, dass die Zeichenfolge linksbündig sein sollte, aber mit einer Feldlänge von 32 Zeichen (passen Sie sie an, wählte ich 32, da es ein Vielfaches von 8 ist, was ein normaler Tabstopp auf einem Terminal ist ). Wenn Sie das gleiche für die Kopfzeile verwenden, aber mit %s anstelle von %f , wird diese Zeile ebenfalls gut aussehen.

    
falstro 09.12.2009, 18:45
quelle
4

Was Sie brauchen, ist die erstaunliche, aber kostenlose format() .

Es funktioniert, indem Sie Platzhalter in einer Vorlagenzeichenfolge angeben können. es erzeugt eine Kombination aus Vorlage und Werten als Ausgabe.

Beispiel:

%Vor%
  • %s ist ein Platzhalter für Strings;
  • %25s bedeutet leer-pad jede gegebene Zeichenfolge zu 25 Zeichen.
  • %-25s bedeutet, dass die Zeichenfolge im Feld linksbündig ausgerichtet wird, d. h. die Schaltfläche rechts neben der Zeichenfolge.
  • %9.7f bedeutet, dass eine Fließkommazahl mit 9 Stellen in allen und 7 rechts von der Dezimalzahl ausgegeben wird.
  • %n ist notwendig, um eine Zeilenbeendigung zu "machen", was Ihnen sonst fehlt, wenn Sie von System.out.println() zu System.out.format() gehen.

Alternativ können Sie

verwenden %Vor%

Erstellen Sie eine Ausgabezeichenfolge und verwenden Sie dann

%Vor%

wie zuvor, um es zu drucken.

    
Carl Smotricz 09.12.2009 18:51
quelle
2

Wie wäre es mit

? %Vor%

Weitere Informationen zur Formatter-Minisprache / a>.

    
Jonathan Feinberg 09.12.2009 18:46
quelle
1
S.Lott 09.12.2009 18:45
quelle
1

Sie können j-text-utils verwenden, um eine Tabelle wie folgt zu testen:

Und es ist so einfach wie:

%Vor%

Die API erlaubt auch die Sortierung und Reihennummerierung ...

    
daniel_or_else 25.12.2013 10:38
quelle
0

Vielleicht java.io.PrintStream s printf und / oder format Methode ist, was Sie suchen ...

    
Nivas 09.12.2009 18:54
quelle

Tags und Links