Menjajarkan Jadual
Formatkan lajur data.
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.
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
- Asas printf
- Format Nombor dan Perpuluhan
- String.format
- Menjajarkan Jadual