Question

J'ai essayé " & nbsp; & amp; nbsp; ". pour afficher deux espaces dans une chaîne de sortie Java standard. Essayer System.out.println ("__"); < ---- (deux espaces, mais évidemment, il est réduit à un espace, d’où le trait de soulignement)

J'imagine qu'il existe un moyen d'échapper à & nbsp; , mais je ne peux pas le comprendre ni trouver de l'aide en ligne. La rechercher est ironique, car beaucoup de littéraux apparaissent.

Toute aide serait appréciée.

EDIT:

for (int j = 0; j < COLUMNS; j++)
  if (j < 10){
    r += "__";
  }

produit 10 espaces, et non 20 comme prévu lors de l'impression

désolé je suis encore nouveau au format ici

Était-ce utile?

La solution

& amp; nbsp; est un codage spécifique à HTML.

Vous aviez raison pour la première fois - la chaîne Java qui correspond à deux espaces est simplement deux caractères d'espacement, par exemple.

String s = "  ";

L’appel println () que vous avez essayé devrait avoir fonctionné. Qu'as-tu fait qui t'a amené à croire qu'il était réduit à un seul espace? Je pense que ton problème est ailleurs ...

EDIT:

D'après l'extrait de code - COLUMNS 5 est-il un hasard? : -)

MODIFIER ENCORE:

OK, si COLUMNS est égal à 15, ce code donnera à r un espace de vingt espaces. Si vous voulez être vraiment sûr, vous pouvez parcourir un débogueur ou placer une instruction de journalisation au-dessus de la ligne r + = pour voir avec certitude combien de fois l'instruction est appelée.

Regardez aussi comment r est utilisé plus tard avant que sa sortie ne soit imprimée à l'endroit que vous inspectez; sa valeur est peut-être tronquée à un moment donné, soit explicitement en Java, soit même implicitement (par exemple, elle est stockée dans une colonne de la base de données trop étroite de 10 caractères avant d'être extraite et affichée ultérieurement).

Autres conseils

Si vous voulez un espace insécable dans votre chaîne, pour une raison quelconque, vous devez utiliser le littéral Unicode:

System.out.println("banana\u00A0phone");

Vous n'avez pas besoin d'utiliser & amp; nbsp en Java. System.out.print ("")); devrait faire l'affaire. Essayez quelque chose comme:

System.out.print("This is the a string before spaces" + "  " + "this is a string after spaces");

Vous pouvez également créer un espace insécable en maintenant la touche Alt enfoncée et en tapant 0160 sur le pavé numérique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top