Escritura con formato
La clase PrintStream dispone de los métodos format() y printf() (ambos son iguales) que permiten mezclar texto y datos y a la vez formatear la salida. La estructura es:
ps.format(String origen, argumentos);
en donde
- origen Es una string que puede contener caracteres se sustitución y definición de formato.Los caracteres de sustitución han de ir precedidos por un símbolo de % y aparecen en el siguiente cuadro
- argumentos Son objetos de 0 a n, en función del número de caracteres de sustitución que hemos indicado en origen
Ejemplo
Los caracteres de sustitución son
Conv. | Flag | Explanation |
d | Para decimal integer. | |
f | para float. | |
n | Carácter de nueva línea. Es mejor utilizar %n, en vez de \n. | |
tB | Conversión de fecha y hora — según locale. Nombre del mes entero. | |
td, te | Conversión de fecha y hora —2-digitos para dia. td con ceros a la izquierda, si se necesita, te sin ceros. | |
ty, tY | Conversión de fecha y hora —ty = 2-digitos para el año, tY = 4-digitos para el año | |
tl | Conversión de fecha y hora —reloj de 12 horas. | |
tM | Conversión de fecha y hora —minutos con 2 dígitos y ceros a la izquierda si son necesarios | |
tp | Conversión de fecha y hora —según locale am/pm (minúsculas). | |
tm | Conversión de fecha y hora —mes con 2 dígitos, ceros a la izquierda si son necesarios. | |
tD | Conversión de fecha y hora —fecha como %tm%td%ty | |
08 | Ancho de 8 caracteres, ceros a la izquierda si son necesarios. | |
+ | Añade signo; positivo o negativo | |
, | Agrupa los caracteres con .(punto) o con ,(coma) según el locale | |
– | Alineado a la izquierda | |
.3 | Dejar tres posiciones decimales | |
10.3 | 10 caracteres de ancho, alineado a la derecha, con tres decimales |
Notas:
Para edición numérica, es conveniente revisar la clase DecimalFormat.
Ver el siguiente ejercicio:
Escribir la clase DatosFormat que utilizando:
long n = 461012;
double pi = Math.PI;
Calendar c = Calendar.getInstance();
imprima la siguiente información:
La solucion:
En el siguiente articulo, vemos como recibir entradas desde el teclado utilizando la clase Scanner o BufferedReader