اكيد من يبدأ منكم بالبرمجة يبدأ بالتلاعب بالاكواد وكتابة برامج صغير ربما سطر او سطرين …
اليوم سنأخذ موضوع دسم قليلا وهو تحويل النص الى مصفوفه بشكل مقلوب ثم تحويله لنص مرة اخرى ![]()
###اليكم الكود كاملا :
String name = "abdullah";
int t = 0;
char c [] = new char [name.length()];
for (int i = name.length()-1 ; i >= 0; i--){
c[t] = name.charAt(i);
t++;
}
String s = new String(c);
System.out.print (s);
###الان سأقوم بشرحه سطرا سطرا ![]()
في اول سطر قمنا بتعريف متغير نصي واسميناه name وقيمته abdullah
String name = "abdullah";
في السطر الثاني قمنا بوضع متغير رقمي واسميناه t وقيمته 0
int t = 0;
في السطر الثالث قمنا يوضع متغير حرفي واسميناه c نوعه مصفوفة وطوله بطول المتغير name وهنا استخدمنا name.length و .length معناها طول النص رقما بمعناه name سيكون طوله 8 لانه يتكون من ثمانية احرف
char c [] = new char [name.length()];
السطر الرابع عبارة عن جملة تكرارية for وقمنا بتعريف المتغير i وقيمته طول المتغير name ناقصا واحد 1- لسبب بسيط وهو (ان .length يعطي قيمة النص رقما ويبدا من 1 بينما المصفوفات تبدا من 0 اي لو شغلنا البرنامج ستصبح هناك مصفوفة دون قيمة وسيظهر خطأ) ثم سيقوم بالمقارنة بين i وهل هو اكبر او يساوي صفر …ثم يقوم بانقاص قيمة i بواحد i–
for (int i = name.length()-1 ; i >= 0; i--){
السطر الخامس يقوم بتعبأة المصوصفة c باحرف القيمة النصية name عن طريق .charAt وهذا الميثود يقوم بتعيين حرفي لنص معين …
c[t] = name.charAt(i);
السطر السادس بسيط وهو عمل زيادة في التكرار للمتغير t
t++;
}
في السطر السابع قمنا بعمل متغير نصي جديد اسميناه s وقيمته نص جديد احرفه تتكون من المصفوفة c
String s = new String(c);
في السطر الثامن قمنا بطباعة المتغير s
System.out.print (s);
الخلاصة (الزبدة):
في كل تكرار ل for نقوم بوضع قيمة في c بشكل تصاعدي من 0 الى نهاية الرقم … بينما القيمة المأخوذة من النص نأخذها بطريقة عكسية من اخر حرف في النص الى الحرف الاول …وهكذا صار النص مقلوباَ …
تمنايتي لكم بيوم سعيد ![]()