تنسيق السلاسل النصية
جزء من قسم 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، منسقاً إلى منزلتين عشريتين.
التحدي
سهلقم بإنشاء طريقة (method) تسمى createFormattedString تأخذ الوسائط التالية:
- سلسلة نصية
productName. - عدد صحيح
quantity. - عدد عشري من نوع 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);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ10الأساليب (الدوال)
تعريف الأساليبمعاملات الأساليبأنواع الإرجاعالتحميل الزائد للأساليب (Method Overloading)مراجعة - دالة Sigmaمراجعة - دالة التحقق (Validation)أساليب Void13عمليات السلاسل النصية
دوال السلاسل النصية - الجزء الأولدوال السلاسل النصية - الجزء الثانيتنسيق السلاسل النصيةمقارنة السلاسل النصية5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة