¿Cómo puedo imprimir una cadena agregando líneas nuevas en Java?

2 minutos de lectura

Avatar de usuario de Md. Rashedul Hasan
Maryland Rashedul Hasan

tengo una cadena como

"I am a boy".

Me gustaría imprimirlo de esta manera.

"I 
am 
a
boy".

Alguien puede ayudarme?

Avatar de usuario del Príncipe John Wesley
Príncipe Juan Wesley

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

  • @the_prole explicado aquí

    – Príncipe Juan Wesley

    8 de diciembre de 2015 a las 9:56


  • La tercera opción es mejor para la portabilidad.

    – Amós Bordowitz

    2 de diciembre de 2018 a las 13:17

Avatar de usuario de Emalton
Emalton

También puedes usar System.lineSeparator():

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

  • En las versiones anteriores de Java: System.getProperty("line.separator").

    – ROMANIA_ingeniero

    29 de febrero de 2016 a las 10:08

  • Atajo: String x = "Hello, %n there"; . Espacios añadidos alrededor %n solo por el bien de la legibilidad.

    – Manoj Shrestha

    1 jun 2018 a las 20:06


Avatar de usuario de Levent Divilioglu
Levent Divilioglu

Ejemplo

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

Producción

I 
 am 
 a 
 boy

Explicación

es mejor usar %n como un carácter de nueva línea independiente del sistema operativo en lugar de \n y es más fácil que usar System.lineSeparator()

por qué usar %nporque en cada sistema operativo, la nueva línea se refiere a un conjunto diferente de caracteres;

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

LF es el acrónimo de Linea de alimentación y RC es el acrónimo de Retorno de carro. Los caracteres de escape se escriben dentro del paréntesis. Entonces, en cada sistema operativo, la nueva línea representa algo específico del sistema. %n es independiente del sistema operativo, es portátil. Lo que representa \n en sistemas Unix o \r\n en sistemas Windows y así sucesivamente. Por lo tanto, no use \nen su lugar usa %n.

Avatar de usuario de Ripon Al Wasim
Ripon Al Wasim

Se puede hacer de varias maneras. Estoy mencionando 2 formas simples.

  1. manera muy simple como a continuación:

    System.out.println("I\nam\na\nboy");
    
  2. También se puede hacer con la concatenación de la siguiente manera:

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

Avatar de usuario de Andrea Girardi
Andrea Girardi

Intentar:

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

Avatar de usuario de la comunidad
Comunidad

Para hacer que el código sea portátil para cualquier sistema, usaría:

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

Esto es importante porque los diferentes sistemas operativos usan notaciones diferentes para la nueva línea: Windows usa “\r\n”, Classic Mac usa “\r” y Mac y Linux usan “\n”.

Comentarios: corríjanme si me equivoco en esto…

Avatar de usuario de Madhuv Sharma
Madhuv Sharma

\n se usa para hacer líneas separadas;

Ejemplo:

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

Resultado:

I
am
a
boy

  • Lea otras respuestas primero. Tu solución ya está ahí.

    – Honza Zidek

    31 de julio de 2015 a las 7:56

¿Ha sido útil esta solución?