Buscar en el Blog

jueves, 21 de enero de 2010

Utilización del método printf para imprimir en consola columnas espaciadas

El método printf de la clase System me permite imprimir texto formateado. En el siguiente código de Java se imprimen tres líneas de texto, pero lo interesante es que usando el método en mención se imprime el contenido de cada columna saltando 20 espacios.

public static void main(String args[]) 
{ 

System.out.printf("%-20s%-20s%-20s\n","0000011","Carlos","Mauricio");
System.out.printf("%-20s%-20s%-20s\n","0001442","Andrea","Margarita");
System.out.printf("%-20s%-20s%-20s\n","0344127","Marco","Antonio");
System.out.printf("%-20s%-20s%-20s\n","9532114","Juan","Fernando");

}

Como se puede observar el método printf usa el caracter % para formatear. Cuando se coloca %-20s indica que se imprimira cada cadena de texto separandolas 20 espacios. La salida del programa será la siguiente:

0000011             Carlos              Mauricio
0001442             Andrea             Margarita
0344127             Marco              Antonio
9532114             Juan                 Fernando

6 comentarios:

  1. Esto es muy interesante gracias

    ResponderEliminar
  2. si tuvieses quisieses poner carlos y debajo suyo todos los números, andrea y debajo todos los números:

    Carlos
    0000011
    0001442
    0344127
    9532114

    andrea
    0000011
    0001442
    0344127
    9532114

    se podría hacer con printf directamente??
    seria de gran ayuda una contestación rápida, saludos y gracias de antemano.

    ResponderEliminar
  3. andrea
    0000011
    0001442
    0344127
    9532114

    carlos
    0000011
    0001442
    0344127
    9532114

    en un formato de esta forma se podría hacer con printf??
    se agradeceria respuesta rapida, saludos y gracias de antemano.

    ResponderEliminar
  4. Gracias, era lo que estaba buscando.

    ResponderEliminar
  5. un formato asi?
    ISIN MNEMONICO SERIE MONEDA ESTADO INSCRIPCION RETIRO CAPITAL_CORTADO CAPITAL_CONTABLE_ACTUAL
    ------------ ---------- ----- ------ ------ ----------- ---------- ---------------------- -----------------------
    PEP209005003 ADESURI1 S/. N 03/05/1994 03/06/2004 2072663 0
    PEP452055002 MICHEI1 S/. S 10/04/2000 3272805 3272805
    PEP661001003 CHUBSGC1 S/. S 24/11/1998 41616000 41616000

    ResponderEliminar