0Pricing
Java Academy · Lekcja

Wyrównywanie tabel

Formatowanie kolumn danych

Wyrównywanie tabel to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 4 lekcji w sumie.

Dlaczego wyrównanie?

Podczas wyświetlania wierszy danych nierówne kolumny są trudne do odczytania. Wyrównane kolumny pozwalają ułożyć liczby i etykiety równo jedna pod drugą.

Szerokości i flagi printf umożliwiają tworzenie czytelnych tabel bezpośrednio w konsoli.

Domyślne wyrównanie do prawej

Szerokość, taka jak %10s, rezerwuje 10 znaków i dopełnia pole z lewej strony, dlatego tekst jest wyrównany do prawej.

Liczby zachowują się tak samo, dlatego kolumny wartości układają się przy prawej krawędzi.

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

Wyrównanie do lewej za pomocą minusa

Aby wyrównać tekst do lewej strony pola, należy dodać flagę -. %-10s umieszcza tekst po lewej stronie i dopełnia pole z prawej.

Wyrównanie do lewej doskonale sprawdza się w przypadku etykiet i nazw.

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

Dwie kolumny

Połączenie etykiety wyrównanej do lewej z liczbą wyrównaną do prawej pozwala utworzyć wiersz. %-10s%5d zapewnia nazwę o szerokości 10 znaków i liczbę o szerokości 5 znaków.

Powtórzenie tego samego formatu dla każdego wiersza sprawia, że kolumny pozostają wyrównane.

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);
    }
}

Prosta tabela

Użycie tego samego łańcucha formatującego dla nagłówka i każdego wiersza danych zapewnia wyrównanie wszystkich elementów.

W tym przypadku trzy wiersze korzystają z jednego wzorca, dzięki czemu kolumny pozostają uporządkowane.

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);
    }
}

Wyrównywanie miejsc dziesiętnych

W przypadku kwot lub pomiarów można połączyć szerokość i precyzję: %8.2f wyrównuje liczbę do prawej w polu o szerokości 8 znaków i wyświetla dwa miejsca dziesiętne.

Przecinki dziesiętne układają się pionowo w kolejnych wierszach.

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);
    }
}

Nagłówek i liczby

Połącz kolumny napisów i liczb w jednym wierszu. Etykieta wyrównana do lewej i cena wyrównana do prawej tworzą naturalnie wyglądającą całość.

Ten wzorzec jest podstawą większości raportów konsolowych.

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);
    }
}

Wybór szerokości kolumn

Należy wybrać szerokość co najmniej równą długości najdłuższej wartości, ponieważ w przeciwnym razie tekst przepełni kolumnę i zaburzy wyrównanie.

Jeśli wartość jest szersza niż pole, printf wypisze ją w całości i zignoruje szerokość.

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

Iterowanie po wierszach

Pętla i jeden wspólny łańcuch formatu ułatwiają wygenerowanie całej tabeli.

Każdy obieg wypisuje jeden wyrównany wiersz, więc dodawanie danych nigdy nie zaburza układu.

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]);
        }
    }
}

Łączenie z String.format

Każdy wyrównany wiersz można utworzyć za pomocą String.format, jeśli tekst ma być gotowy przed jego wypisaniem.

Reguły szerokości i wyrównania są identyczne.

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

Tabulatory a szerokości

Kolumny można rozdzielać tabulatorami \t, ale położenie tabulatorów może się różnić, a długie wartości zaburzają wyrównanie.

Stałe szerokości, takie jak %-10s, zapewniają niezawodne i przewidywalne kolumny, dlatego w tabelach należy preferować to rozwiązanie.

Szybkie sprawdzenie

Jaki format wyrównuje nazwę do lewej w polu o szerokości 12 znaków?

Podsumowanie

Utworzono wyrównane tabele, używając pól szerokości, flagi - do wyrównania do lewej oraz %8.2f do uporządkowania kolumn dziesiętnych.

Dzięki printf, String.format i wyrównaniu można czytelnie formatować dowolne dane wyjściowe konsoli.

Często zadawane pytania

Czy lekcja „Wyrównywanie tabel” jest bezpłatna?

Tak — pełny tekst „Wyrównywanie tabel” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wyrównywanie tabel”?

Formatowanie kolumn danych Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Java Academy?

Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Wyrównywanie tabel”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?

Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy printf
  2. Formaty liczbowe i dziesiętne
  3. String.format
  4. Wyrównywanie tabel
← Powrót do Java Academy