Java Academy · Lektion

Justering af tabeller

Formatér datakolonner.

Lektion 4 af 413 trin

Justering af tabeller er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 4 lektioner i alt.

Hvorfor justering?

Når du udskriver rækker med data, er ujævne kolonner svære at læse. Justerede kolonner placerer tal og etiketter pænt under hinanden.

printf-bredder og flag lader dig opbygge overskuelige tabeller direkte i konsollen.

Højrejustering som standard

En bredde som %10s reserverer 10 tegn og udfylder i venstre side, så teksten bliver højrejusteret.

Tal opfører sig på samme måde, og derfor står kolonner med tal på linje ved højre kant.

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

Venstrejustering med minus

Tilføj flaget - for at venstrejustere i feltet. %-10s placerer teksten til venstre og udfylder i højre side.

Venstrejustering er ideel til etiketter og navne.

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

To kolonner

Kombinér en venstrejusteret etiket med et højrejusteret tal for at oprette en række. %-10s%5d giver et navn på 10 tegns bredde og et tal på 5 tegns bredde.

Gentag det samme format for hver række, så kolonnerne står på linje.

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

En enkel tabel

Hvis du bruger den samme formatstreng til en overskrift og hver datarække, forbliver alt justeret.

Her deler tre rækker ét mønster, så kolonnerne forbliver overskuelige.

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

Justere decimaler

Til penge eller målinger kan du kombinere bredde og præcision: %8.2f højrejusterer et tal i 8 tegn med to decimaler.

Decimalpunkterne står lodret på linje på tværs af rækkerne.

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

Overskrift og tal

Bland tekst- og talkolonner på samme række. En venstrejusteret etiket og en højrejusteret pris passer naturligt sammen.

Dette mønster er kernen i de fleste konsolrapporter.

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

Valg af kolonnebredder

Vælg en bredde, der mindst er lige så stor som din længste værdi, ellers flyder teksten ud af kolonnen og ødelægger justeringen.

Hvis en værdi er bredere end feltet, udskriver printf den i sin fulde længde og ignorerer bredden.

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

Gennemløb af rækker

En løkke og én fælles formatstreng gør det nemt at generere en hel tabel.

Hver iteration udskriver én justeret række, så nye data aldrig ødelægger layoutet.

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

Kombinering med String.format

Du kan opbygge hver justeret række med String.format, hvis du skal bruge teksten, før du udskriver den.

Reglerne for bredde og justering er identiske.

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

Tabulatorer kontra bredder

Du kan adskille kolonner med tabulatorer som \t, men tabulatorstop varierer, og lange værdier giver en skæv justering.

Faste bredder som %-10s giver pålidelige og forudsigelige kolonner, så foretræk dem i tabeller.

Hurtigt tjek

Hvilket format venstrejusterer et navn i 12 tegn?

Opsummering

Du har opbygget justerede tabeller ved hjælp af breddefelter, flaget - til venstrejustering og %8.2f til pæne decimalkolonner.

Med printf, String.format og justering kan du formatere ethvert konsoloutput på en overskuelig måde.

Gratis at komme i gang

Lær Java med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
104
Lektioner
374

Ofte stillede spørgsmål

Er lektionen “Justering af tabeller” gratis?

Ja — hele teksten til “Justering af tabeller” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Justering af tabeller”?

Formatér datakolonner. Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Java Academy?

Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Justering af tabeller”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Java Academy-lektion?

Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Grundlæggende printf
  2. Tal- og decimalformater
  3. String.format
  4. Justering af tabeller
← Tilbage til Java Academy