محاذاة الجداول
نسّق أعمدة البيانات
محاذاة الجداول درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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 والمحاذاة، يمكنكم تنسيق أي مخرجات لوحدة التحكم بشكل واضح.
تعلم Java مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 104
- الدروس
- 374
الأسئلة الشائعة
هل درس «محاذاة الجداول» مجاني؟
نعم — نص درس «محاذاة الجداول» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 4 دروس في المجموع.
ماذا ستتعلم في «محاذاة الجداول»؟
نسّق أعمدة البيانات تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «محاذاة الجداول»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.