Java Academy · Lección

Alineación de tablas

Dé formato a las columnas de datos

Lección 4 de 413 pasos

Alineación de tablas es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.

¿Por qué alinear?

Al imprimir filas de datos, las columnas irregulares son difíciles de leer. Las columnas alineadas colocan los números y las etiquetas ordenadamente unos debajo de otros.

Los anchos y las banderas de printf permiten crear tablas claras directamente en la consola.

Alineación a la derecha predeterminada

Un ancho como %10s reserva 10 caracteres y añade relleno a la izquierda, por lo que el texto queda alineado a la derecha.

Los números se comportan de la misma forma, por eso las columnas de cifras se alinean en el borde derecho.

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%10s]\n", "hi");
    }
}

Alineación a la izquierda con un signo menos

Añada una bandera - para alinear a la izquierda dentro del campo. %-10s coloca el texto a la izquierda y añade relleno a la derecha.

La alineación a la izquierda es ideal para etiquetas y nombres.

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%-10s]\n", "hi");
    }
}

Dos columnas

Combine una etiqueta alineada a la izquierda con un número alineado a la derecha para crear una fila. %-10s%5d proporciona un nombre de 10 caracteres de ancho y un número de 5.

Repita el mismo formato en cada fila y las columnas quedarán alineadas.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%-10s%5d\n", "Apples", 3);
        System.out.printf("%-10s%5d\n", "Pears", 12);
    }
}

Una tabla sencilla

Usar la misma cadena de formato para el encabezado y cada fila de datos mantiene todo alineado.

Aquí tres filas comparten un patrón, por lo que las columnas permanecen ordenadas.

public class Main {
    public static void main(String[] args) {
        String fmt = "%-8s%6d\n";
        System.out.printf(fmt, "Name", 0);
        System.out.printf(fmt, "Ann", 90);
        System.out.printf(fmt, "Bob", 7);
    }
}

Alinear decimales

Para cantidades monetarias o medidas, combine el ancho y la precisión: %8.2f alinea un número a la derecha en 8 caracteres con dos decimales.

Los puntos decimales quedan alineados verticalmente en todas las filas.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%8.2f\n", 5.5);
        System.out.printf("%8.2f\n", 123.4);
    }
}

Encabezado y números

Combine columnas de texto y de números en una misma fila. Una etiqueta a la izquierda y un precio alineado a la derecha se leen de forma natural juntos.

Este patrón es la base de la mayoría de los informes de consola.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%-10s%8.2f\n", "Coffee", 3.5);
        System.out.printf("%-10s%8.2f\n", "Cake", 12.0);
    }
}

Elegir el ancho de las columnas

Elija un ancho al menos tan grande como su valor más largo; de lo contrario, el texto desbordará la columna y romperá la alineación.

Si un valor es más ancho que el campo, printf lo imprime completo e ignora el ancho.

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%3s]\n", "toolong");
    }
}

Recorrer filas con un bucle

Un bucle y una cadena de formato compartida facilitan la generación de una tabla completa.

En cada iteración se imprime una fila alineada, por lo que añadir datos nunca rompe el diseño.

public class Main {
    public static void main(String[] args) {
        String[] names = {"Sun", "Mon", "Tue"};
        int[] hrs = {8, 12, 5};
        for (int i = 0; i < names.length; i++) {
            System.out.printf("%-6s%4d\n", names[i], hrs[i]);
        }
    }
}

Combinar con String.format

Puede construir cada fila alineada con String.format si necesita el texto antes de imprimirlo.

Las reglas de ancho y alineación son idénticas.

public class Main {
    public static void main(String[] args) {
        String row = String.format("%-8s%5d", "Total", 99);
        System.out.println(row);
    }
}

Tabulaciones frente a anchos

Podría separar las columnas con tabulaciones \t, pero las posiciones de tabulación varían y los valores largos pierden la alineación.

Los anchos fijos, como %-10s, proporcionan columnas fiables y predecibles, así que son preferibles para las tablas.

Comprobación rápida

¿Qué formato alinea un nombre a la izquierda en 12 caracteres?

Repaso

Ha creado tablas alineadas mediante campos de ancho, la opción - para la alineación a la izquierda y %8.2f para columnas decimales ordenadas.

Con printf, String.format y la alineación, puede dar formato de manera limpia a cualquier salida de consola.

Gratis para empezar

Aprende Java con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
104
Lecciones
374

Preguntas frecuentes

¿La lección «Alineación de tablas» es gratis?

Sí — el texto completo de «Alineación de tablas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Alineación de tablas»?

Dé formato a las columnas de datos Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Java Academy?

No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Alineación de tablas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Java Academy?

Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de printf
  2. Formatos numéricos y decimales
  3. String.format
  4. Alineación de tablas
← Volver a Java Academy