تنسيق النصوص المتقدم
جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 49 من 59.
يتيح لك تنسيق السلاسل النصية في Java إنشاء سلاسل نصية منسّقة باستخدام محددات التنسيق. وأكثرها شيوعًا هي %s للسلاسل النصية، و%d للأعداد الصحيحة، و%.2f للأعداد العشرية.
نسّق سلسلة نصية باستخدام قيم متعددة:
String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);بعد تنفيذ التعليمات البرمجية أعلاه، تحتوي text على:
Name: John, Age: 25
نسّق الأعداد العشرية بدقة محددة:
double price = 19.99;
String formatted = String.format("Price: $%.2f", price);بعد تنفيذ الشيفرة أعلاه، يحتوي formatted على:
Price: $19.99
التحدي
سهلأنشئ طريقة باسم formatData تأخذ أربع وسيطات:
- قيمة من النوع String (
name) لاسم المنتج - قيمة من النوع double (
price) لسعر المنتج - عدد صحيح (
quantity) للكمية - قيمة من النوع String (
format) لنوع تنسيق الإخراج
يجب أن تنسّق الطريقة البيانات بناءً على الأنواع التالية:
- "basic": تُرجع "ITEM: {name}, PRICE: ${price}"
- "detailed": تُرجع "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}"
- "total": تُرجع "TOTAL FOR {quantity}x {name}: ${total}" (total = price * quantity)
يجب تنسيق جميع الأسعار بمنزلتين عشريتين بالضبط.
رسالة الإرجاع:
- إذا كانت أي قيمة إدخال null أو كان التنسيق غير صالح: تُرجع "Invalid input"
جرّب بنفسك
import java.util.Scanner;
public class Main {
public static String formatData(String name, double price, int quantity, String format) {
// اكتب الكود الخاص بك هنا
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
double price = Double.parseDouble(scanner.nextLine());
int quantity = Integer.parseInt(scanner.nextLine());
String format = scanner.nextLine();
if (name.equals("null")) name = null;
if (format.equals("null")) format = null;
System.out.println(formatData(name, price, quantity, format));
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap5HashSet الجزء الثاني
رياضيات - اتحاد الـ HashSetsرياضيات - تقاطع الـ HashSetرياضيات - فرق المجموعاترياضيات - الفرق المتناظرالمجموعات الجزئية والشاملةالتكرار عبر المجموعات8عمليات السلاسل النصية المتقدمة
أساسيات StringBuilderمقدمة إلى StringBufferأساسيات Regular Expressionsمطابقة الأنماط باستخدام RegexString Tokenizerتنسيق النصوص المتقدم3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكمتدرّب بنفسك: مترجم Java عبر الإنترنت