Je me demandais si quelqu'un pouvait me montrer comment utiliser la méthode de formatage pour Java Strings .
Par exemple, supposons que je veux toujours que ma sortie soit la même
Name = Bob
Age = 27
Occupation = Student
Status = Single
Dans cet exemple, toutes les sorties sont correctement formatées les unes sous les autres; Comment pourrais-je accomplir cela avec la méthode de formatage.
Pourquoi ne pas simplement générer une chaîne d’espace dynamiquement à insérer dans l’instruction.
Donc, si vous voulez qu'ils partent tous du 50e personnage ...
String key = "Name =";
String space = "";
for(int i; i<(50-key.length); i++)
{space = space + " ";}
String value = "Bob\n";
System.out.println(key+space+value);
Mettez tout cela dans une boucle et initialisez/définissez les variables "clé" et "valeur" avant chaque itération et vous êtes en or. J'utiliserais aussi la classe StringBuilder
qui est plus efficace.
System.out.println(String.format("%-20s= %s" , "label", "content" ));
La sortie ressemble à ceci:
label = content
Comme référence, je recommande Javadoc sur la syntaxe du formateur
Si vous voulez un minimum de 4 caractères, par exemple,
System.out.println(String.format("%4d", 5));
// Results in " 5", minimum of 4 characters
Pour répondre à votre question mise à jour, vous pouvez le faire
String[] lines = ("Name = Bob\n" +
"Age = 27\n" +
"Occupation = Student\n" +
"Status = Single").split("\n");
for (String line : lines) {
String[] parts = line.split(" = +");
System.out.printf("%-19s %s%n", parts[0] + " =", parts[1]);
}
empreintes
Name = Bob
Age = 27
Occupation = Student
Status = Single
@Override
public String toString()
{
return String.format("%15s /n %15d /n %15s /n %15s",name,age,Occupation,status);
}
Pour les valeurs décimales, vous pouvez utiliser DecimalFormat.
import Java.text.*;
public class DecimalFormatDemo {
static public void customFormat(String pattern, double value ) {
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.out.println(value + " " + pattern + " " + output);
}
static public void main(String[] args) {
customFormat("###,###.###", 123456.789);
customFormat("###.##", 123456.789);
customFormat("000000.000", 123.78);
customFormat("$###,###.###", 12345.67);
}
}
et la sortie sera:
123456.789 ###,###.### 123,456.789
123456.789 ###.## 123456.79
123.78 000000.000 000123.780
12345.67 $###,###.### $12,345.67
Pour plus de détails, regardez ici:
http://docs.Oracle.com/javase/tutorial/Java/data/numberformat.html