تنسيق السلاسل النصية
جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 69 من 73.
في لغة Java، تُعد String.format() طريقة قوية تُستخدم لإنشاء سلاسل نصية منسقة. فهي تتيح لك دمج النصوص مع المتغيرات بطريقة سهلة القراءة وقابلة للتخصيص. تستخدم هذه الطريقة محددات التنسيق (format specifiers) لتحديد كيفية إدراج المتغيرات في السلسلة النصية.
الصيغة الأساسية لـ 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. - عدد عشري من نوع
unitPrice(double).
يجب أن تعيد الطريقة سلسلة نصية منسقة تجمع هذه القيم بالتنسيق التالي:
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جرّب بنفسك
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 المتداخلة