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