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%n
solo por el bien de la legibilidad.Ejemplo
Salida
Explicación
Es mejor usarlo
%n
como un carácter de nueva línea independiente del sistema operativo en lugar de\n
y 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.
%n
es independiente del sistema operativo, es portátil. Significa\n
en sistemas Unix o\r\n
en 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
\n
se 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
%n
uso 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 manikanta
fuente
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%/iAmABoy
y escriba:¡Puedes reemplazar los args
I am a boy
con cualquier cosa!fuente
args
directamentenlSeparated()
aonlSeparated()
tome un escalar enString
lugar de una matriz. La primera opción es probablemente mejor. Además, imprima su firma con enprintln
lugar deprint
.main
, reemplacefor (String arg : args) { nlSeparated(arg); }
con solonlSeparated(args);
.nlSeparated
ya acepta una lista deString
s. 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\\boy
paraSystem.out.println
imprimirfuente
puede usar la
<br>
etiqueta en su cadena para mostrar en páginas htmlfuente