2017-10-24 5 views
1

Ich möchte meine Ausgabe, die Name, gefolgt von Alter, Leerzeichen mit 10 Zeichen dazwischen haben. Außerdem muss das Alter mit 2 Ziffern angezeigt werden.Hinzufügen von Leerzeichen und zusätzlichen Ziffern mit String.format

Also, wenn ich schreibe:

System.out.printf(name + " " + String.format("%02d", age); 

ich so etwas wie dieses erhalten wird (Angenommen, die Eingabe gegeben ist "Peter", 9):

Peter 09 

Aber ich will 10 Zeilen Raum zwischen der Name und das Alter. Der folgende Code einen Fehler geben, aber es zeigt etwas, was ich

System.out.printf(name + String.format("%10s02d", age); 

denke ich weiß, dass ich Raum hinzufügen können, indem Sie:

String.format("%s10", someVariable); 

Wie kann ich erreichen, was ich will?

Dank

Antwort

2

Sie vermissen den Raum als Argument für die Format-Funktion

System.out.printf(name + String.format("%10s%02d", " ", 1)); 
2

Sie so etwas schreiben kann:

int numberOfSpaces = 10; 
    String result = String.format("%s %"+ numberOfSpaces +"s %d", name," ",age); 
    System.out.println(result);` 
Verwandte Themen