النهارده معادنا نكمل شابتر 8 اللي بيتكلم عن الـ String I/O
8.3. The Character Class
واحد ومجموعة ميثودس constructor فيه Character كلاس الـ
بالطريقة دي character object بنخلق
بفرض ان عندنا equals و compareTo زي ميثود string وتقريبا تعامل الميثودس معاه هو نفسه مع الـ
وفيه ميثودس تانية زي
isDigit(char ch), isLetter(char ch), isLetterOrDigit(char ch), isLowerCase(char ch), isUpperCase(char ch), toLowerCase(char ch), toUpperCase(char ch).
8.3.1. Example: Counting Each Letter in a String
String ده مثال بيعد عدد مرات تكرار كل حرف في الـ
toLowerCase بإستخدام ميثود lowercase اول حاجة هنفكر فيها اننا نخلي كل الحروف
array بتاعنا هيبقي counter للحروف بيعد كل حرف اتكرر كام مرة بس لأنهم 26 حرف فالـ counter تاني حاجة هنعمل
“a” مرات تكرار حرف الـ arr[0]فيه بيمثل عدد تكرار الحروف بترتيبهم يعني مثلا index وكل
بواحد arr[0] يزود قيمة “a”وهكذا وكل مايقابله حرف هيتخزن فيه عدد
بالتطبيق عليها Character تقريبا كدا غطينا معظم الميثودس اللي موجودة في كلاس
StringBufferيلا بقا نتكلم عن حاجة مهمة جدا وهي ال
8.4. The StringBuilder/StringBuffer Class
String فيهم بعكس كلاس string وبيتميزوا كمان بإمكانية تعديل الـ String الكلاسين دول نقدر نستخدمهم بدل كلاس
العادي بالمرونة وإمكانية التعديل String ككلاس،، يتميز عن كلاس StringBuffer يعني نقدر نقول ان
string واكتر من 30 ميثود للتحكم في الـ 3 constructors علي سبيل المثال عليStringBuffer بيحتوي كلاس
8.4.1. Modifying Strings in the Buffer
زي كده string هنا نقدر نزود او ندحل او نعدل او حتي نحذف اي جزء من الـ
insert وهنعمل عليه جملة”Welcome to java” بيحتوي علي strBfr بفرض ان عندنا
“Welcome to HTML and Java” رقم 11 وبعد الجملة دي هتبقي قيمتها كده index بعد الـ”HTML and”هنا هيضيف جملة
:امثلة علي بعض الميثودس
8.4.2. Example: Ignoring Nonalphanumeric Characters When Checking Palindromes
ولكن هنتجاهل اي حاجة غير الحروف palindrome هنا هنطبق نفس مثال
علشان نعرف العلامة دي حرف ولا علامة isLetterOrDigit فهنستخدم ميثود
بس بتجاهل الرموز.. لو فيه أي استفسار عليه انا موجود palindrome دا يعتبر نفس تطبيق ال
8.5. Command-Line Arguments
😀 معادنا هنا مع حاجة كان نفسنا نفهمها من زمان وقد جااااااااء وقتها
String[] args اكيد كلنا استغربنا من شكلها وانها بتاخد متغير من نوع main method احنا اول ماعرفنا تركيبة الـ
زيها زي اي ميثود عادية اقدر اناديها في اي مكان زي كده main وطبعا ميثود الـ
8.5.1. Passing Strings to the main Method
او شاشة الدوس للناس اللي شغالة ويندوز زي كده command lineأو من الـ terminal من علي ال main احنا نقدر نكتب المدخلات لميثود الـ
وطبعا مش لازم ندخل القيم بين “” ولكن بنفصل بين كل قيمة والتانية بمسافة
8.5.2. Example: Processing Command-Line Arguments
ده مثال علي حكاية الإدخال للقيم من شاشة الدوس وهو عبارة عن آلة حاسبة بسيطة بدخله 2+3 زي كده
والخرج بيبقي شكله كده
والبرنامج شكله كده
8.6. (Optional) Regular Expressions
معناها ايه regular expressionعندنا حاجة في البرمجة عموما اسمها
معين String معناها اني بستخدم العلامات بدل الكلام علشان اقدر اعمل بحث او تعديل او فصل جزء معين او
والعلامات دي طبعا بتقدر توصف طبيعة البحث احسن من الكلام . وعندنا علامات كتير زي مثال مثلا
وبعدها اي عدد من الحروف من أول صفر او اكتر.. أي عدد من الحروف.Java عبارة عن كلمة string وهنا معني الجملة انه عاوز يجيب
… الـ .* معناها زيرو او اكتر
8.6.2. Regular Expression Syntax
ده جدول فيه تقريبا كل العلامات ومعنايهم
: [\\d]*[02468] مثال : لو عاوزين نجيب اي عدد بينتهي برقم زوجي هيببقي شكلها كده
..[وبعدها زيرو او اكتر من رقم وبينتهي برقم من اللي في الليستة [02468(d) ومعناها ان العدد هيبتدي برقم
..دا مهم جدا يا جماعة خصوصا في تطبيقات الويب regex الجزء الخاص بال
اللي موجودة في المرجع.. انا شايف انها أمثلة مفيدة جدا وتعتبر تطبيق كويس أوي عليه regex ياريت الناس تراجع الأمثلة الخاصة بجزء ال
Text I/O لحد هنا نكون خلصنا النهاردة،، ومعادنا المرة الجاية ان شاء الله مع جزة مهم جدا وهو الجزة الخاص بقى بال
الخاصة بالتطبيق resources وهو بيتكلم عن طريقة عمل التطبيق بحيث انه يقرأ نص معين من ملف على الهارد ديسك أو في ال
وطريقة ان التطبيق يقدر يدخل على ملف نصي ويكتب جواه.. طبعا الجزء دا مهم جدا في البرامج التجارية أكيد.. و انا أصريت أسيبه بحيث ان يكون لوحده عشان وحدة الموضوع..
it’s totally free to share
thx a lot CATReloaded
thx a lot CATaZine
om4rezz