Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تنسيق السلاسل النصية

جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 69 من 73.

في لغة Java، تعد String.format() طريقة قوية تُستخدم لإنشاء سلاسل نصية منسقة. فهي تتيح لك دمج النصوص مع المتغيرات بطريقة قابلة للقراءة والتخصيص. تستخدم هذه الطريقة محددات التنسيق لتحديد كيفية إدراج المتغيرات في السلسلة النصية.

الصيغة الأساسية لـ String.format() هي:

String formattedString = String.format("format_string", arg1, arg2, ...);
  • format_string: سلسلة نصية تحتوي على نص ومحددات تنسيق.
  • arg1, arg2, ...: المتغيرات التي سيتم إدراجها في format_string.

إليك بعض محددات التنسيق الشائعة:

  • %s: يدرج سلسلة نصية.
  • %d: يدرج عدداً عشرياً (صحيحاً).
  • %f: يدرج عدداً بفاصلة عائمة.
  • %b: يُدرج قيمة منطقية (boolean).
  • %c: يُدرج حرفاً.
  • %n: يُدرج محرف سطر جديد.

يمكنك أيضاً التحكم في التنسيق بشكل أكبر:

  • %.2f: يقوم بتنسيق رقم فاصلة عائمة بمنزلتين عشريتين.
  • %10s: يدرج سلسلة نصية، محاذاة لليمين ضمن حقل مكون من 10 أحرف.
  • %-10s: يُدرج سلسلة نصية، محاذية لليسار ضمن حقل مكون من 10 أحرف.
  • %03d: يُدرج عدداً صحيحاً، مسبوقاً بأصفار بادئة ليصل عرضه إلى 3 خانات.

إليك مثالاً:

String name = "Alice";
int age = 30;
double price = 19.99;

String formatted = String.format("Name: %s, Age: %d, Price: %.2f", name, age, price);
System.out.println(formatted);
// المخرجات: Name: Alice, Age: 30, Price: 19.99

في هذا المثال، يتم استبدال %s بـ name، و %d بـ age، و %.2f بـ price، منسقاً إلى منزلتين عشريتين.

challenge icon

التحدي

سهل

قم بإنشاء طريقة (method) تسمى createFormattedString تأخذ الوسائط التالية:

  1. سلسلة نصية productName.
  2. عدد صحيح quantity.
  3. عدد عشري من نوع double يسمى unitPrice.

يجب أن تعيد الطريقة سلسلة نصية منسقة تجمع هذه القيم بالتنسيق التالي:

Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]

قم بتنسيق unitPrice إلى خمس خانات عشرية، و quantity بخانة عشرية واحدة (قم بتحويلها إلى double).

على سبيل المثال، إذا كان productName هو "laptop"، و quantity هو 3، و unitPrice هو 1299.9999، يجب أن تعيد الطريقة:

Product: laptop, Quantity: 3.0, Unit Price: 1299.99990

لاستخراج الحرف الأول مع الحفاظ عليه كنوع String بدلاً من نوع char، استخدم: str.substring(0,1)

ورقة مرجعية

تنشئ الطريقة String.format() سلاسل نصية منسقة من خلال دمج النص مع المتغيرات باستخدام محددات التنسيق.

الصيغة الأساسية:

String formattedString = String.format("format_string", arg1, arg2, ...);

محددات التنسيق الشائعة:

  • %s: سلسلة نصية (String)
  • %d: عدد صحيح (Integer)
  • %f: عدد بفاصلة عائمة (Floating-point number)
  • %b: قيمة منطقية (Boolean)
  • %c: حرف (Character)
  • %n: سطر جديد (Newline)

خيارات التنسيق:

  • %.2f: عدد عشري مع منزلتين عشريتين
  • %10s: سلسلة نصية محاذاة لليمين في حقل مكون من 10 أحرف
  • %-10s: سلسلة نصية محاذاة لليسار في حقل مكون من 10 أحرف
  • %03d: عدد صحيح مسبوق بأصفار حتى 3 خانات

مثال:

String name = "Alice";
int age = 30;
double price = 19.99;

String formatted = String.format("Name: %s, Age: %d, Price: %.2f", name, age, price);
System.out.println(formatted);
// Output: Name: Alice, Age: 30, Price: 19.99

لاستخراج الحرف الأول كسلسلة نصية: str.substring(0,1)

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static String createFormattedString(String productName, int quantity, double unitPrice) {
        // اكتب كودك هنا
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String product = scanner.nextLine();
        int qty = scanner.nextInt();
        double price = scanner.nextDouble();
        String formattedString = createFormattedString(product, qty, price);
        System.out.println(formattedString);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals