J'ai un doute qui suit.
public static void main(String[] args) throws IOException{
int number=1;
System.out.println("M"+number+1);
}
Sortie:M11
Mais je veux le faire imprimer M2 au lieu de M11. Je ne pouvais pas numéroter ++ car la variable est impliquée dans une boucle for, ce qui me donne un résultat différent si je le fais et ne pouvais pas l'imprimer en utilisant une autre instruction d'impression, car le format de sortie change.
Je vous demande de m'aider à l'imprimer correctement.
Essaye ça:
System.out.printf("M%d%n", number+1);
Où %n
est une nouvelle ligne
Ajoutez un crochet autour de votre somme, pour que le sum
se produise en premier. De cette façon, votre bracket
ayant la priorité la plus élevée sera évalué en premier, puis le concatenation
aura lieu.
System.out.println("M"+(number+1));
Cela a à voir avec l'ordre de priorité dans lequel Java concatène la chaîne,
Fondamentalement Java dit
"M"+number = "M1"
"M1"+1 = "M11"
Vous pouvez surcharger la priorité comme vous le faites avec les mathématiques
"M"+(number+1)
Cela se lit maintenant
"M"+(number+1)
= "M"+(1+1)
= "M"+2
= "M2"
Essayer
System.out.println("M"+(number+1));
Essaye ça:
System.out.println("M"+(number+1));
Une façon plus propre de séparer les données des invariants:
int number=1;
System.out.printf("M%d%n",number+1);
System.out.println("M"+number+1);
Concatination de chaînes en Java fonctionne de cette façon:
si le premier opérande est de type String et que vous utilisez +
, il concatène l'opérande suivant et le résultat serait une chaîne.
essayer
System.out.println("M"+(number+1));
Dans ce cas, comme ()
les parenthèses ont la priorité la plus élevée, les éléments entre parenthèses seraient évalués en premier. alors la valeur int résultante serait concaténée avec le littéral String résultant dans une chaîne "M2"
System.out.println("M"+number+1);
Ici, vous utilisez +
Comme opérateur de concaténation comme Its dans la méthode println()
.
Pour utiliser +
Pour faire la somme, vous devez lui donner une haute priorité que vous pouvez faire en le couvrant avec des crochets comme indiqué ci-dessous:
System.out.println("M"+(number+1));