Java Academy · Pelajaran

Menjajarkan Jadual

Formatkan lajur data.

Pelajaran 4 daripada 413 langkah

Menjajarkan Jadual ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Mengapa Penjajaran?

Apabila Anda mencetak baris data, lajur yang tidak sekata sukar dibaca. Lajur yang sejajar menyusun nombor dan label dengan kemas di bawah satu sama lain.

Lebar dan bendera printf membolehkan Anda membina jadual yang kemas terus di dalam konsol.

Penjajaran ke Kanan Secara Lalai

Lebar seperti %10s menyediakan ruang untuk 10 aksara dan menambah pelapik di sebelah kiri, jadi teks dijajarkan ke kanan.

Nombor berkelakuan dengan cara yang sama, sebab itulah lajur angka sejajar pada tepi kanan.

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

Penjajaran ke Kiri dengan Tanda Tolak

Tambahkan bendera - untuk menjajarkan teks ke kiri dalam ruang tersebut. %-10s meletakkan teks di sebelah kiri dan menambah pelapik di sebelah kanan.

Penjajaran ke kiri amat sesuai untuk label dan nama.

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

Dua Lajur

Gabungkan label yang dijajarkan ke kiri dengan nombor yang dijajarkan ke kanan untuk membina satu baris. %-10s%5d memberikan nama selebar 10 aksara dan nombor selebar 5 aksara.

Ulang format yang sama untuk setiap baris supaya lajur sejajar.

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

Jadual Ringkas

Menggunakan rentetan format yang sama untuk pengepala dan setiap baris data memastikan semuanya sejajar.

Di sini, tiga baris berkongsi satu corak, jadi lajur kekal kemas.

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

Menjajarkan Perpuluhan

Untuk wang atau ukuran, gabungkan lebar dan ketepatan: %8.2f menjajarkan nombor ke kanan dalam ruang selebar 8 aksara dengan dua tempat perpuluhan.

Titik perpuluhan sejajar secara menegak merentas baris.

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

Pengepala serta Nombor

Gabungkan lajur rentetan dan nombor dalam satu baris. Label di kiri dan harga yang dijajarkan ke kanan kelihatan semula jadi apabila digabungkan.

Pola ini merupakan teras kebanyakan laporan konsol.

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

Memilih Lebar Lajur

Pilih lebar sekurang-kurangnya sebesar nilai anda yang paling panjang, jika tidak, teks akan melimpahi lajur dan merosakkan penjajaran.

Jika nilai lebih lebar daripada medan, printf mencetaknya sepenuhnya dan mengabaikan lebar tersebut.

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

Menggelung Merentasi Baris

Gelung bersama satu rentetan format yang dikongsi memudahkan penjanaan seluruh jadual.

Setiap lelaran mencetak satu baris yang dijajarkan, jadi penambahan data tidak akan merosakkan susun atur.

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

Menggabungkan dengan String.format

Anda boleh membina setiap baris yang dijajarkan dengan String.format jika anda memerlukan teks tersebut sebelum mencetaknya.

Peraturan lebar dan penjajaran adalah sama.

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

Tab berbanding Lebar

Anda boleh memisahkan lajur dengan tab \t, tetapi hentian tab berbeza-beza dan nilai yang panjang menyebabkan penjajaran tersasar.

Lebar tetap seperti %-10s memberikan lajur yang boleh dipercayai dan dapat dijangka, jadi utamakannya untuk jadual.

Semakan Pantas

Format manakah yang menjajarkan nama ke kiri dalam 12 aksara?

Imbas Kembali

Anda telah membina jadual yang dijajarkan menggunakan medan lebar, bendera - untuk penjajaran kiri, dan %8.2f untuk lajur perpuluhan yang kemas.

Dengan printf, String.format dan penjajaran, anda boleh memformatkan sebarang keluaran konsol dengan kemas.

Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
104
Pelajaran
374

Soalan Lazim

Adakah pelajaran “Menjajarkan Jadual” percuma?

Ya — teks penuh “Menjajarkan Jadual” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menjajarkan Jadual”?

Formatkan lajur data. Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Java Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Menjajarkan Jadual” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Asas printf
  2. Format Nombor dan Perpuluhan
  3. String.format
  4. Menjajarkan Jadual
← Kembali ke Java Academy