Tengo una cuerda como
"I am a boy".
Quiero imprimir así
"I
am
a
boy".
Alguien puede ayudarme?
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
También puedes usar
System.lineSeparator():fuente
System.getProperty("line.separator").String x = "Hello, %n there";. Se agregaron espacios alrededor%nsolo por el bien de la legibilidad.Ejemplo
Salida
Explicación
Es mejor usarlo
%ncomo un carácter de nueva línea independiente del sistema operativo en lugar de\ny es más fácil que usarSystem.lineSeparator()Por qué usarlo
%n, porque en cada sistema operativo, la nueva línea se refiere a un conjunto diferente de caracteres;LF es el acrónimo de Line Feed y CR es el acrónimo de Carriage Return . 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.
%nes independiente del sistema operativo, es portátil. Significa\nen sistemas Unix o\r\nen sistemas Windows, etc. Por lo tanto, no use\n, en su lugar use%n.fuente
Se puede hacer de varias maneras. Menciono 2 formas simples.
De manera muy simple como a continuación:
También se puede hacer con concatenación de la siguiente manera:
fuente
Tratar:
fuente
Para hacer que el código sea portátil a cualquier sistema, usaría:
Esto es importante porque diferentes sistemas operativos usan diferentes notaciones para la nueva línea: Windows usa "\ r \ n", Mac clásico usa "\ r", y Mac y Linux usan "\ n".
Comentaristas: corríjanme si me equivoco en esto ...
fuente
\nse usa para hacer una línea separada;Ejemplo:
Resultado:
fuente
Si simplemente desea imprimir una nueva línea en la consola, puede usar ´ \ n´ para las nuevas líneas.
Si desea dividir el texto en los componentes de swing, puede usar html:
fuente
Si desea que su código sea no específico, debe usar println para cada palabra
porque Windows usa "\ r \ n" como nueva línea y los sistemas unixoides usan solo "\ n"
println siempre usa el correcto
fuente
println()agrega un carácter de nueva línea al final de la cadena (no al principio).System.lineSeparator()oSystem.getProperty("line.separator")puede usarse para hacer que el sistema de código sea independiente.¿Qué pasa con el
%nuso de un formateador comoString.format()?Como esta respuesta dice, su disposición a partir de Java 1.5 y es otra forma de
System.getProperty("line.separator")uSystem.lineSeparator(), y, de esta manera dos, es independiente del sistema operativo .fuente
finalString = "bandham" + System.lineSeparator() + "manikanta"; System.out.println(finalString);Salida:
bandham manikantafuente
Ejemplo de programa completo, con un toque divertido:
Abra un nuevo documento en blanco y guárdelo como
%yourJavaDirectory%/iAmABoy/iAmABoy.java. "iAmABoy" es el nombre de la clase.Pegue el siguiente código y léalo. Recuerde, soy un principiante, ¡así que agradezco todos los comentarios!
Ahora, en terminal / cmd, busque
%yourJavaDirectory%/iAmABoyy escriba:¡Puedes reemplazar los args
I am a boycon cualquier cosa!fuente
argsdirectamentenlSeparated()aonlSeparated()tome un escalar enStringlugar de una matriz. La primera opción es probablemente mejor. Además, imprima su firma con enprintlnlugar deprint.main, reemplacefor (String arg : args) { nlSeparated(arg); }con solonlSeparated(args);.nlSeparatedya acepta una lista deStrings. Para una mejor explicación, vea aquí: stackoverflow.com/a/12534579/2988730Ve por una división.
fuente
System.out.println ("I \ nam \ na \ nboy");
Esto funciona También le dará un carácter de espacio antes de ingresar el carácter
fuente
Yo uso este codigo
String result = args[0].replace("\\n", "\n");con terminal puedo usar arg
I\\nam\\na\\boyparaSystem.out.printlnimprimirfuente
puede usar la
<br>etiqueta en su cadena para mostrar en páginas htmlfuente