การจัดแนวตาราง
จัดรูปคอลัมน์ข้อมูล
การจัดแนวตาราง เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดการจัดแนวจึงสำคัญ
เมื่อคุณพิมพ์แถวข้อมูล คอลัมน์ที่ไม่เป็นแนวเดียวกันจะอ่านได้ยาก คอลัมน์ที่จัดแนวจะทำให้ตัวเลขและป้ายกำกับอยู่ตรงกันอย่างเป็นระเบียบ
ความกว้างและแฟล็กของ printf ช่วยให้คุณสร้างตารางที่อ่านง่ายได้โดยตรงในคอนโซล
การจัดแนวชิดขวาเป็นค่าเริ่มต้น
ความกว้างอย่าง %10s จะจองพื้นที่ 10 อักขระและเติมช่องว่างทางด้านซ้าย ทำให้ข้อความ จัดแนวชิดขวา
ตัวเลขก็ทำงานในลักษณะเดียวกัน นี่จึงเป็นเหตุผลที่คอลัมน์ตัวเลขเรียงตรงกันที่ขอบด้านขวา
public class Main {
public static void main(String[] args) {
System.out.printf("[%10s]\n", "hi");
}
}การจัดแนวชิดซ้ายด้วยเครื่องหมายลบ
เพิ่มแฟล็ก - เพื่อจัดแนวชิดซ้ายภายในช่อง %-10s จะวางข้อความไว้ทางซ้ายและเติมช่องว่างทางขวา
การจัดแนวชิดซ้ายเหมาะอย่างยิ่งสำหรับป้ายกำกับและชื่อ
public class Main {
public static void main(String[] args) {
System.out.printf("[%-10s]\n", "hi");
}
}สองคอลัมน์
นำป้ายกำกับที่จัดแนวชิดซ้ายมารวมกับตัวเลขที่จัดแนวชิดขวาเพื่อสร้างแถวหนึ่งแถว %-10s%5d จะกำหนดชื่อให้กว้าง 10 อักขระ และตัวเลขให้กว้าง 5 อักขระ
ใช้รูปแบบเดียวกันซ้ำกับทุกแถว แล้วคอลัมน์จะจัดแนวตรงกัน
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);
}
}ตารางอย่างง่าย
การใช้สายอักขระรูปแบบเดียวกันกับส่วนหัวและแถวข้อมูลแต่ละแถวจะช่วยให้ทุกอย่างจัดแนวตรงกัน
ในที่นี้ ทั้งสามแถวใช้รูปแบบเดียวกัน คอลัมน์จึงยังคงเป็นระเบียบ
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);
}
}การจัดแนวทศนิยม
สำหรับเงินหรือค่าการวัด ให้รวมความกว้างกับความละเอียดเข้าด้วยกัน %8.2f จะจัดแนวตัวเลขชิดขวาในพื้นที่ 8 อักขระ พร้อมทศนิยมสองตำแหน่ง
จุดทศนิยมของแต่ละแถวจะเรียงตรงกันในแนวตั้ง
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);
}
}หัวตารางพร้อมตัวเลข
ผสมคอลัมน์ข้อความและตัวเลขไว้ในแถวเดียวกัน ป้ายกำกับด้านซ้ายกับราคาที่จัดชิดขวาจะอ่านได้อย่างเป็นธรรมชาติเมื่ออยู่ด้วยกัน
รูปแบบนี้เป็นหัวใจของรายงานคอนโซลส่วนใหญ่
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);
}
}การเลือกความกว้างของคอลัมน์
กำหนดความกว้างให้มากกว่าหรือเท่ากับค่าที่ยาวที่สุด มิฉะนั้นข้อความจะล้นคอลัมน์และทำให้การจัดแนวเสียไป
หากค่ากว้างกว่าช่อง printf จะแสดงค่านั้นทั้งหมดและไม่สนใจความกว้างที่กำหนด
public class Main {
public static void main(String[] args) {
System.out.printf("[%3s]\n", "toolong");
}
}การวนซ้ำผ่านแถว
การใช้ลูปร่วมกับสตริงรูปแบบเดียวทำให้การสร้างตารางทั้งชุดเป็นเรื่องง่าย
แต่ละรอบจะแสดงแถวที่จัดแนวแล้วหนึ่งแถว ดังนั้นการเพิ่มข้อมูลจึงไม่ทำให้เค้าโครงเสีย
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]);
}
}
}การใช้ร่วมกับ String.format
คุณสามารถสร้างแต่ละแถวที่จัดแนวแล้วด้วย String.format หากต้องใช้ข้อความก่อนแสดงผล
กฎเรื่องความกว้างและการจัดแนวเหมือนกันทุกประการ
public class Main {
public static void main(String[] args) {
String row = String.format("%-8s%5d", "Total", 99);
System.out.println(row);
}
}แท็บเทียบกับความกว้าง
คุณอาจใช้แท็บ \t คั่นคอลัมน์ได้ แต่จุดหยุดแท็บแตกต่างกันไป และค่าที่ยาวจะทำให้การจัดแนวคลาดเคลื่อน
ความกว้างคงที่อย่าง %-10s ให้คอลัมน์ที่เชื่อถือได้และคาดเดาได้ จึงควรเลือกใช้กับตาราง
ตรวจสอบอย่างรวดเร็ว
รูปแบบใดจัดชื่อให้ชิดซ้ายภายในพื้นที่ 12 อักขระ
ทบทวน
คุณสร้างตารางที่จัดแนวแล้วโดยใช้ช่องความกว้าง เครื่องหมาย - เพื่อจัดชิดซ้าย และ %8.2f สำหรับคอลัมน์ทศนิยมที่เป็นระเบียบ
ด้วย printf, String.format และการจัดแนว คุณสามารถจัดรูปแบบผลลัพธ์คอนโซลใด ๆ ให้เรียบร้อยได้
คำถามที่พบบ่อย
บทเรียน “การจัดแนวตาราง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดแนวตาราง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดแนวตาราง”
จัดรูปคอลัมน์ข้อมูล คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดแนวตาราง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน printf
- รูปแบบตัวเลขและทศนิยม
- String.format
- การจัดแนวตาราง