Je suis un débutant en Java et j'utilise les didacticiels Java Java (youtube) de thenewboston. Au didacticiel 36-37, il commence à utiliser un String.format (); qu'il n'a pas expliqué dans tutoriels passés. Voici le code d'une classe qu'il faisait:
public class tuna {
private int hour;
private int minute;
private int second;
public void setTime(int h, int m, int s){
hour = ((h >= 0 && h < 24) ? h : 0);
minute = ((m >= 0 && m < 60) ? m : 0);
second = ((s >= 0 && s < 60) ? s : 0);
}
public String toMilitary(){
return String.format("%02d:%02d:%02d", hour, minute, second);
}
}
Donc, ce qu'il fait, c'est qu'il fait une sorte de classe de temps militaire et utilise le formatage String. Donc, ce que je demande, c'est si quelqu'un peut m'expliquer comment fonctionne String.format () et comment fonctionne le formatage ci-dessus. Merci pour l'aide!
Cela fonctionne de la même manière que printf () de C.
%s for String
%d for int
%f for float
devant
String.format("%02d", 8)
SORTIE: 08
String.format("%02d", 10)
SORTIE: 10
String.format("%04d", 10)
SORTIE: 0010
donc, fondamentalement, il remplira le nombre de 0 avant l'expression, le type de variable ou primitif donné comme deuxième argument, les 0 seront remplis de telle manière que tous les chiffres satisfont le premier argument de la méthode de format de l'API String.
Il prend simplement les variables hour
, minute
et second
et lui apporte le format 05:23:42. Un autre exemple serait peut-être celui-ci:
String s = String.format("Hello %s answered your question", "placeofm");
Lorsque vous imprimez la chaîne pour l'afficher dans la console, cela ressemblerait à ceci
System.out.println(s);
Bonjour placeofm a répondu à votre question
L'espace réservé %02d
est pour un nombre décimal à deux chiffres. %s
est pour une chaîne comme mon nom dans l'exemple ci-dessus. Si vous voulez apprendre Java vous devez lire les documents. Ici, c'est pour la classe String
. Vous pouvez trouver la méthode de formatage avec un Belle explication.Lire cette documentation est vraiment important, même pas en Java.