Justering af tabeller
Formatér datakolonner.
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.
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
- Grundlæggende printf
- Tal- og decimalformater
- String.format
- Justering af tabeller