Java String nouvelle ligne
J'ai la chaîne
"I am a boy".
Je veux imprimer comme de cette façon
"I
am
a
boy".
Quelqu'un peut-il m'aider?
Vous devez vous connecter pour publier un commentaire.
J'ai la chaîne
"I am a boy".
Je veux imprimer comme de cette façon
"I
am
a
boy".
Quelqu'un peut-il m'aider?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également utiliser
System.lineSeparator()
:System.getProperty("line.separator")
.String x = "Hello, %n there";
. Ajouté espaces autour%n
juste par souci de lisibilité.Exemple
De sortie
Explication
Il est préférable d'utiliser
%n
comme un système d'exploitation indépendant de caractère de nouvelle ligne à la place de\n
et il est plus facile que d'utiliserSystem.lineSeparator()
Pourquoi utiliser
%n
, car sur chaque OS, de la nouvelle ligne se réfère à un ensemble différent de caractère(s);LF est l'acronyme de saut de Ligne et CR est l'acronyme de Retour Chariot. Les caractères d'échappement sont écrites à l'intérieur de la parenthèse. Sur chaque OS, la nouvelle ligne est synonyme de quelque chose de spécifique pour le système.
%n
est OS agnostique, il est portable. Il est synonyme de\n
sur les systèmes Unix ou\r\n
sur les systèmes Windows et ainsi de suite. Donc, Ne pas utiliser de\n
, au lieu d'utiliser%n
.Il peut être fait de plusieurs façons. Je suis de mentionner 2 façons simples.
Manière très simple, comme ci-dessous:
Il peut également être fait avec la concaténation comme ci-dessous:
Essayer:
Pour rendre le code portable sur tout système, je voudrais utiliser:
Ceci est important parce que les différents systèmes d'exploitation utiliser différentes notations pour le saut de ligne: Windows utilise "\r\n", un Classique de Mac utilise "\r", et Mac et Linux utilisez "\n".
Auteurs ont - s'il vous plaît corrigez-moi si je me trompe sur ce...
\n
est utilisé pour la fabrication de ligne distincte;Exemple:
Résultat:
Tout simplement si vous souhaitez imprimer un saut de ligne dans la console, vous pouvez utiliser \n pour les retours à la ligne.
Si vous souhaitez diviser le texte en composants swing, vous pouvez utiliser le code html:
Si vous voulez avoir votre code d'os-non spécifique, vous devez utiliser println pour chaque mot
parce que Windows utilise "\r\n" retour à la ligne et unixoid systèmes d'utilisation juste "\n"
println utilise toujours la bonne
println()
ajoute un caractère de saut de ligne à la fin de la chaîne (pas au début).System.getProperty("line.separator")
peut être utilisé pour rendre le code indépendant du système.Ce sujet
%n
à l'aide d'un formateur commeString.format()
?:Comme cette réponse dit, il est disponible à partir de java 1.5 et est une autre façon de
System.getProperty("line.separator")
ouSystem.lineSeparator()
et, comme ces deux, est indépendant du système d'exploitation.Programme complet exemple, avec un plaisir twist:
Ouvrez un nouveau document et l'enregistrer en tant que
%yourJavaDirectory%/iAmABoy/iAmABoy.java
. "iAmABoy" est le nom de la classe.Collez le code suivant dans et de lire à travers elle. Rappelez-vous, je suis un débutant, donc j'apprécie tous les commentaires!
Maintenant, dans le terminal/cmd, accédez à
%yourJavaDirectory%/iAmABoy
et type:Vous pouvez remplacer le args
I am a boy
avec n'importe quoi!args
directement ànlSeparated()
ou fairenlSeparated()
prendre un scalaireString
au lieu d'un tableau. La première option est probablement mieux. Aussi, l'impression de votre signature avecprintln
au lieu deprint
.main
, remplacerfor (String arg : args) { nlSeparated(arg); }
avec justenlSeparated(args);
.nlSeparated
accepte d'ores et déjà une liste deString
s. Pour une meilleure explication, voir ici: stackoverflow.com/a/12534579/2988730Aller pour un split.
Système.out.println("I\nam\na\nboy");
Cela fonctionne
Il permettra de donner un caractère d'espace aussi long avant d'entrer dans le caractère
J'utilise ce code
String result = args[0].replace("\\n", "\n");
avec terminal je peux utiliser arg
I\\nam\\na\\boy
de faireSystem.out.println
imprimervous pouvez utiliser
<br>
balise dans votre chaîne pour montrer dans les pages html