Java Ssortingng nouvelle ligne

J’ai de la ficelle

"I am a boy". 

Je veux imprimer comme ça

 "I am a boy". 

Quelqu’un peut-il m’aider?

 System.out.println("I\nam\na\nboy"); System.out.println("I am a boy".replaceAll("\\s+","\n")); System.out.println("I am a boy".replaceAll("\\s+",System.getProperty("line.separator"))); // portable way 

Vous pouvez également utiliser System.lineSeparator() :

 Ssortingng x = "Hello," + System.lineSeparator() + "there"; 

Exemple

 System.out.printf("I %n am %na %n boy"); 

Sortie

 I am a boy 

Explication

Il est préférable d’utiliser %n comme caractère de nouvelle ligne indépendant du système d’exploitation au lieu de \n et c’est plus facile que d’utiliser System.lineSeparator()

Pourquoi utiliser %n , car sur chaque système d’exploitation, la nouvelle ligne fait référence à un ensemble de caractères différent;

 Unix and modern Mac's : LF (\n) Windows : CR LF (\r\n) Older Macintosh Systems : CR (\r) 

LF est l’acronyme de Line Feed et CR est l’acronyme de Carriage Return . Les caractères d’échappement sont écrits à l’intérieur de la parenthèse. Ainsi, sur chaque OS, la nouvelle ligne représente quelque chose de spécifique au système. %n est agnostique au système d’exploitation, il est portable. Il signifie \n sur les systèmes Unix ou \r\n sur les systèmes Windows, etc. Ainsi, n’utilisez pas \n , utilisez plutôt %n .

Cela peut être fait de plusieurs manières. Je mentionne 2 façons simples.

  1. Manière très simple comme ci-dessous:

     System.out.println("I\nam\na\nboy"); 
  2. Cela peut aussi être fait avec une concaténation comme ci-dessous:

     System.out.println("I" + '\n' + "am" + '\n' + "a" + '\n' + "boy"); 

Essayer:

 System.out.println("I\nam\na\nboy"); 

Pour rendre le code portable sur n’importe quel système, j’utiliserais:

 public static Ssortingng newline = System.getProperty("line.separator"); 

Ceci est important car différents systèmes d’exploitation utilisent des notations différentes pour newline: Windows utilise “\ r \ n”, Classic Mac utilise “\ r”, et Mac et Linux utilisent tous deux “\ n”.

Commentateurs – corrigez-moi si je me trompe à ce sujet …

\n est utilisé pour faire une ligne distincte;

Exemple:

 System.out.print("I" +'\n'+ "am" +'\n'+ "boy"); 

Résultat:

 I am boy 

Si vous voulez simplement imprimer une nouvelle ligne dans la console, vous pouvez utiliser ´ \ n´ pour les nouvelles lignes.

Si vous voulez casser du texte dans les composants swing, vous pouvez utiliser html:

 Ssortingng s = "first line
second line";

Si vous voulez avoir votre code os-unspecific, vous devez utiliser println pour chaque mot

 System.out.println("I"); System.out.println("am"); System.out.println("a"); System.out.println("boy"); 

parce que Windows utilise “\ r \ n” comme les systèmes newline et unixoid utilisent simplement “\ n”

println utilise toujours le bon

Qu’en est-il de %n utilisant un formateur comme Ssortingng.format() ?:

 Ssortingng s = Ssortingng.format("I%nam%na%nboy"); 

Comme le dit cette réponse , il est disponible à partir de java 1.5 et constitue une autre façon d’ System.getProperty("line.separator") ou à System.lineSeparator() et, comme ces deux éléments, il est indépendant du système d’exploitation .

Exemple de programme complet, avec une touche amusante:

Ouvrez un nouveau document vierge et enregistrez-le sous %yourJavaDirectory%/iAmABoy/iAmABoy.java . “iAmABoy” est le nom de la classe.

Collez le code suivant et lisez-le. Rappelez-vous que je suis un débutant, alors j’apprécie tous les commentaires!

 //The class name should be the same as your Java-file and directory name. class iAmABoy { //Create a variable number of Ssortingng-type arguments, "strs"; this is a useful line of code worth memorizing. public static void nlSeparated(Ssortingng... strs) { //Each argument is an str that is printed. for (Ssortingng str : strs) { System.out.println(str); } } public static void main(Ssortingng[] args) { //This loop uses 'args' . 'Args' can be accessed at runtime. The method declaration (above) uses 'str', but the method instances (as seen below) can take variables of any name in the place of 'str'. for (Ssortingng arg : args) { nlSeparated(arg); } //This is a signature. ^^ System.out.print("\nThanks, Wolfpack08!"); } } 

Maintenant, dans terminal / cmd, accédez à %yourJavaDirectory%/iAmABoy et tapez:

 javac iAmABoy.java java iAmABoy I am a boy 

Vous pouvez remplacer les arguments que I am a boy avec n’importe quoi!

Optez pour une scission.

 Ssortingng ssortingng = "I am a boy"; for (Ssortingng part : ssortingng.split(" ")) { System.out.println(part); } 

System.out.println (“I \ nam \ na \ nboy”);

Cela fonctionne Il donnera un caractère d’espacement aussi avant que vous ensortingez le caractère

vous pouvez utiliser la balise
dans votre chaîne pour afficher les pages HTML