Freitag, 13. Februar 2009
Ausgabe formatieren
Mit String.format kann man ab Java 1.5 einen Text inklusive Variablenwerte komfortable anzeigen

Syntax wie mit printf in C:
%[flags][width][.precision][length]specifier

Für die Formatierung stehen folgende Format-Spezifizierer zur Verfügung:

%b : Boolean
%c : Character
%s : String
%d : Dezimalzahl
%x : Hexadezimaldarstellung
%X : ^^ mit Großbuchstaben
%f : Fließkommazahl
%e : Wissenschaftliche Notation
%E : ^^ mit großem "E"
%g : Fließkommazahl in gemischter Schreibweise
%G : ^^ mit großem "E"
%t : Datum und Zeit
%n : neue Zeile
%% : Prozentzeichen
%c : Unicode-Zeichen

Nähere Informationen in den JDK JavaDocs zur Klasse java.util.Formatter.

Beispiele:

1. Strings:

String name = "Max";
String day = "Montag";
String.format("Hallo %s! Heute ist %s.", name, day);
// Ausgabe: Hallo Max! Heute ist Montag.


2. Eine Dezimalzahl auf 2 Stellen formartieren, bei 1 stelligen Zahlen eine führende 0 anhängen:

// flag = 0 --> mit 0-en auffüllen
// width = 2 --> auf 2 Stellen formatieren
// specifier = d --> Dezimalzahl
String.format("%02d", 1) // Ausgabe: 01


3. Aktuelles Datum und Uhrzeit ausgeben:

System.out.println(String.format("Datum %tD, Uhrzeit %tT", new Date(), new Date()));

4. Datum nach ISO-8601 (YYYY-MM-DD) formatieren:

System.out.println(String.format("%tF", new Date()));

... comment