0% found this document useful (0 votes)
7 views14 pages

JavaWeek 3

Uploaded by

khaledhkh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views14 pages

JavaWeek 3

Uploaded by

khaledhkh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 14

‫معالجة األرقام والسالسل‬

‫الطرق الرياضية‪Mathematical Methods‬‬


‫في لغة الجافا هناك الكثيرمن الطرق الرياضية المحفوظة لإلستعمال داخل ذاكرة‬
‫الحاسب تسهل للمبرمج إستخدامها عوضاً عن كتابة برامج لذات الغرض‪ ،‬وفيما‬
‫‪:-‬يلي جدول يضم بعض هذه الطرق‬
‫الطريقة‬ ‫المعنى‬ ‫مثال‬ ‫النتيجة‬
‫)‪abs(x‬‬ ‫القيمة المطلقة‬ ‫)‪abs(-55‬‬ ‫‪55‬‬
‫)‪ceil(x‬‬ ‫تقريب ‪x‬إلى أقرب قيمة التكون‬ ‫)‪ceil(8.7‬‬ ‫‪9.0‬‬
‫اقل من ‪x‬‬
‫)‪cos(x‬‬ ‫جيب التمام‬ ‫)‪cos(0.0‬‬ ‫‪1.0‬‬
‫)‪exp(x‬‬ ‫القيمة األسية‬ ‫)‪exp(3.0‬‬ ‫‪20.08554‬‬
‫)‪floor(x‬‬ ‫أكبر قيمة صحيحة أقل من أو‬ ‫)‪floor(6.3‬‬ ‫‪6.0‬‬
‫تساوي ‪x‬‬
‫)‪log(x‬‬ ‫اللوغاريتم الطبيعية‬ ‫‪log(20.08554‬‬ ‫‪3.0‬‬
‫)‪max(x, y‬‬ ‫أكبر قيمة من بين‪x, y‬‬ ‫)‪max(12.6, 15.6‬‬ ‫‪15.6‬‬
‫)‪min(x, y‬‬ ‫أصغر قيمة من بين‪x, y‬‬ ‫)‪min(12.6, 15.6‬‬ ‫‪12.6‬‬
‫)‪pow(x, y‬‬ ‫‪ x‬بقوة ‪y‬‬ ‫)‪pow(2, 5‬‬ ‫‪32.0‬‬
‫)‪sin(x‬‬ ‫الجيب‬ ‫)‪Sin(0.0‬‬ ‫‪0.0‬‬
‫)‪sqrt(x‬‬ ‫الجذر التربيعي‬ ‫)‪Sqrt(16.0‬‬ ‫‪4.0‬‬
‫)‪tan(x‬‬ ‫الظل‬ ‫)‪tan(0.0‬‬ ‫‪0.0‬‬
‫قبل التطرق إلى طرق معالجة السالسل الحرفية‪ ،‬يجب التذكير بالسالسل وطرق اإلعالن‬
‫عنها‬

‫‪String‬‬ ‫يتم اإلعالن عن السلسلة بالشكل التالي‪-:‬‬


‫‪;var_name‬‬

‫وهناك طرق أخرى مثل‬


‫)”‪;String str =new String(”ABCDEF‬‬

‫وهومكافئ لإلعالن التالي‬


‫‪;String str‬‬
‫‪;”str=”ABCDEF‬‬
‫أو الشكل التالي‬
‫‪;”String str=”ABCDEF‬‬
‫في حين الجملتان ‪:‬‬
‫;)‪String s= new String(str,2,3‬‬
‫;)‪System.out.println(s‬‬
‫ينتج عنها السطر التالي‬
‫‪CDE‬‬
‫طرق معالجة الحرف ‪Character Manipulation Methods‬‬

‫يمكن معالجة أي حرف من حروف السلسلة بإستخدام بعض الطرق (‪ ،)method‬ومن هذه‬
‫الطرق ‪-:‬‬
‫‪ -1‬طريقة في ‪)(charAt‬‬
‫وتستعمل إلستخراج أو الحصول على موقع حرف معين في السلسلة حرفية‪.‬‬
‫مثال خد مثال الجمل التالية‬
‫‪;char ch‬‬
‫‪;”String str=”ABCDEF‬‬
‫)‪;ch=str.charAt(2‬‬
‫)‪;System.out.println(”CH ” +ch‬‬

‫مهمتها البحث عن الحرف بالموقع الثاني في السلسلة ‪ ABCDEF‬وإسناده إلى المتغير ‪ch‬‬
‫وسيكون الناتج ‪CHC‬‬

‫‪ -2‬طريقة اإلستبدال ‪replace‬‬


‫وتستخدم في إستبدال حرف بحرف آخر في السلسلة الحرفية وشكلها هو ‪-:‬‬
‫)‪;var_name= var_name.replace(char_1, char_2‬‬
‫أي إستبدال الحرف ‪ char_2‬مكان الحرف ‪ char_1‬في السلسلة الحرقية للمتغير ‪.var_name‬‬
)O( ‫مثال مطلوب إستقبال سلسلة حرفية وإستبدال النجمة عوضاً عن الحرف‬
;*.import java.io
class search_string_1
{
public static void main (String[]args)
throws IOException
{
;BufferedReader inData=new BufferedReader(new InputStreamReader(System.in))
;String str,s1
;System.out.println(”Enter your string=”)
;)(s1=inData.readLine
;str=s1.replace(’O’,’*’)
;System.out.println(”str”+str)
}
}
HOW DO YOU DO TODAY ‫إذا ما نفذ البرنامج وتم إدخال البيانات التالية‬

str H*W D* Y*U D* T*DAY ‫فسيكون الناتج كما يلي‬


)(lastIndexOf() and indexOf ‫ طريقتا أول ظهور وآخر ظهور‬-3
char_1.indexOf(char_2) ‫الطريقة األولى( أول ظهور) وشكلها كما يلي‬
char_1 ‫في المتغير‬char_2 ‫ومهمتها البحث عن أول ظهور قيمة المتغير‬

char_1.LastIndexOf(char_2) ‫والطريقة الثانية (آخر ظهور)وشكلها كما يلي‬


char_1 ‫في المتغير‬char_2 ‫ومهمتها البحث عن آخر ظهور قيمة المتغير‬
‫وفيما يلي برنامج كامل مهمته إستخدام الطريقتين‬
class search_string
{
public static void main(String []args)
{
;String str =(”Hello how are you today?”)
;System.out.println(”str ”+str)
;System.out.println(” Frist ’o’ in str ”+str.indexOf(’o’))
System.out.println(” Last ’y’ in str ”+str.lastIndexOf(’y’));
} }
Hello how are you today ‫فالناتج يكون كما يلي‬
Frist ’o’ in str  4
Last ’y’ in str  22
‫طرق معالجة السلسلة‪String Manipulation Methods‬‬
‫‪ -1‬طريقة الطول ‪length‬‬
‫ومهمة هذه الطريقة الرجوع بقيمة من النوع الصحيح تمثل طول السلسلة ‪ String‬وشكلها كما‬
‫يلي ‪-:‬‬
‫‪;”String str=”ABCDEF‬‬
‫))(‪;System.out.println(”Length of s1 ” +str.length‬‬
‫‪Length of‬‬ ‫وناتج تنفيذ هذه الطريقة يكون‬
‫‪s1 6‬‬

‫‪ -2‬طريقتا إبدأ بـ وإنتهي بـ ‪startsWith and endsWith‬‬


‫يمكن البحث عن الحرف أو الحروف التي تبدأ بها أي سلسلة حرفية بإستخدام طريقة‬
‫(‪ (startsWith‬حيث ترجع بقيمة ‪ true‬إذا تم العثور على الحرف أوالكلمة‪ false ،‬في حالة عدم‬
‫العثور عليها‪.‬‬
‫أما فيما يخص طريقة ‪ )(endsWith‬وهي ترجع بقيمة ‪ true‬إذا تم العثور على الحرف أو الكلمة‬
‫التي تنتهي بها السلسلة أو ‪ false‬إذا لم يتحقق‪.‬‬
‫مثال إذا كان لدينا اإلعالن التالي ‪-:‬‬
‫‪;”String s = ”STOP‬‬
‫))”‪;System.out.println(s+”STOP Starts With ST ”+s.startsWith(”ST‬‬
‫‪true STOP Starts With ST‬‬ ‫فالناتج يكون‬
‫‪‬‬
concat ‫ طريقة الوصل‬-3
،‫) مع بعضها‬char( ‫) أو الحرف‬string( ‫ومهمتها ضم أو وصل متغيرات من نوع السلسلة‬
-: ‫وشكلها‬

;Str_1.concat(str_2)
‫ متغيران من النوع الحرفي أو السلسلة وتعني وصل محتويات المتغير‬str_1، str_2 ‫حيث‬
.str_1 ‫ بنهاية محتويات المتغير‬str_2
class use_concat
{
Public static void main(String []args)
{
;”String str_1=” Department of
;”String str_2=” computer
;System.out.print(”The concat of str_1 and str_2 is ”+str_1.concat(str_2))
}
}
Department of computer ‫عند تنفيذ البرنامج يكون الناتج‬
)(toLowerCase() and toUpperCase ‫طريقة الحالة السفلى والحالة العليا‬4-

‫يمكن تغيير حرف أو أكثر في سلسلة حرفية من صورته الصغيرة إلى صورته الكبيرة‬
)(toUpperCase ‫بإستخدام‬
. )(toLowerCase ‫أو بالعكس بواسطة الطريقة‬

‫مثال المقطع التالي من البرنامج‬


String str = ”How are you today?”;
;String s1,s2
;)(s1 = str.toUpperCase
;)(s2 = str.toLowerCase
;System.out.println(”UpperCase of str  ”+s1)
;System.out.println(”LowerCase of str  ”+s2)

‫جملة الطباعة األولى سيكون ناتجها كما يلي‬


?UpperCase of str HOW ARE YOU TODAY
‫أما جملة الطباعة الثانية فسيكون ناتجها كما يلي‬
?LowerCase of str how are you today
‫‪5-‬طريقة العكس ‪)(reverse‬‬
‫هذه الطريقة تعطي ترتيب محتويات السلسلة المعطاة ترتيباً عكسياً ‪.‬‬
‫‪;)(str.reverse‬‬
‫حيث ‪ str‬يمثل السلسلة المراد إيجاد عكسها‬
‫مثال المقطع التالي‬
‫)”‪;StringBuffer str=new StringBuffer(”STOP‬‬
‫‪;)(str.reverse‬‬
‫فيه تخصيص الكلمة ‪ STOP‬للمتغير ‪ str‬مع إعادة ترتيب حروف هذه الكلمة بالعكس ‪POTS‬‬
‫وتخصيصها للمتغير‬

‫‪ -6‬طريقة اإلدخال أو اإلضافة ‪)(insert‬‬


‫مهمة هذه الطريقة حشر أو إضافة حرف أو أكثر في سلسلة وشكلها كما يلي ‪-:‬‬
‫)‪;Str_1.insert(index, str_2‬‬
‫إضافة محتوى المتغير ‪ str_2‬للمتغير ‪ str_1‬بداية من الموقع ‪. index‬‬
‫;)”‪StringBuffer str_1= new StringBuffer(”Hello How are you‬‬
‫‪;”String str_2 =” Mohammed‬‬
‫‪;int index=5‬‬
‫)‪;Str_1.insert(index, str_2‬‬
‫لتصبح محتويات ‪ str_1‬كما يلي ‪ Hello Mohammed How are you‬بعد عملية اإلضافة‬
‫طريقة اإللحاق ‪)(append‬‬

‫بإستخدام هذه الطريقة يتم إلحاق حرف أو مجموعة من الحروف في نهاية السلسلة‬
‫الحرفية‪ ،‬ويكون شكلها كما يلي‪-:‬‬
‫;)‪Str_1.append (str_2‬‬
‫أي إضافة محتوى المتغير ‪ str_2‬في نهاية المتغير ‪.str_1‬‬

‫)”‪;StringBuffer str = new StringBuffer(”Java Book‬‬ ‫مثال‬

‫)”‪;str.append(” Nice to have‬‬

‫سيتم إضافة السلسلة الحرفية ‪ Nice to have‬في آخر محتوى المتغير‪ str‬وعليه ستكون قيمة‬
‫هذا المتغير كما يلي ‪-:‬‬

‫‪Java Book Nice to have‬‬

‫مع األخد في اإلعتبار أن الطرق ‪ )(append(), insert(), reverse‬تعمل مع الفصيلة‬


‫(‪ )StringBuffer‬فقط‪.‬‬
class app_insrt_rev
{
public static void main(String[]args)
{
String s=" LIBYA ";
StringBuffer name=new StringBuffer("university");
StringBuffer str=new StringBuffer("Iam from TRIPOLI");
System.out.println("STR-->"+str);
str.append(s);
System.out.println("STR-->"+str);
str.insert(9,s);
System.out.println("STR-->"+str);
name.reverse();
System.out.print(name);
}
}
‫عند تنفيذ هذا البرنامج يكون الناتج كما يلي‬:-
STR-->Iam from TRIPOLI
STR-->Iam from TRIPOLI LIBYA
STR-->Iam from LIBYA TRIPOLI LIBYA
ytisrevinu
‫طرق مقارنة السالسل‬
‫‪:-‬هناك العديد من الطرق التي بواسطتها تتم عملية مقارنة السالسل ومنها‬
‫‪ -1‬طريقتا تجاهل التساوي والتساوي ‪equalsIgnoreCase() and equals‬‬

‫لكي تتم المقارنة بين سلسلتين ومعرفة هل هي متساوية أم ال نستخدم الطريقة ‪equals‬‬
‫التي لها الشكل التالي‪-:‬‬

‫)‪;str_1.equals(str_2‬‬
‫حيث تتم المقارنة بين محتوى المتغير ‪ str_1‬مع محتوى المتغير ‪ str_2‬والرجوع بالقيمة ‪true‬‬
‫إذا حدث التساوي أو ‪ false‬في حالة عدم التساوي‪.‬‬

‫أما الطريقة ‪ equalsIgnoreCase‬فمهمتها تجاهل حاالت اإلختالف بين محتوى السلسلتين أي‬
‫أنها تعتبر الحروف الكبيرة مثل الحروف الصغيرة وهي تأخذ الشكل التالي ‪-:‬‬
‫)‪;str_1.egualsIgnoreCase(str_2‬‬
import java.io.*;
class use_eql
{
public static void main(String[] args) throws IOException
{
BufferedReader inData=new BufferedReader(new InputStreamReader(System.in));
String s1,s2,s3;
System.out.print("Enter string1");
s1=inData.readLine();
System.out.print("Enter string2");
s2=inData.readLine();
System.out.print("Enter string3");
s3=inData.readLine();
System.out.println("s1 equals s2"+"-->"+s1.equals(s2));
System.out.println("s2 equals s3"+"-->"+s2.equals(s3));
System.out.println("s1 equalsIgnoreCase s3"+"-->"+s1.equalsIgnoreCase(s2));
}
}
‫‪2-‬طريقة قارن بــ ‪compareTo‬‬
‫تستخدم لمقارنة متغيرين من النوع الحرفي وشكلها كما يلي‪-:‬‬
‫)‪str_1.compareTo(str_2‬‬
‫وفيها تقارن قيمة المتغير ‪ str_1‬مع قيمة المتغير ‪ str_2‬من حيث ترتيبهما في نظام آسكي‬
‫(‪ )ascii‬والرجوع بالقيمة صحيحة أصغر من الصفر إذا كان ترتيب ‪ str_var_1‬أقل من‬
‫‪ ،str_var_2‬وأكبر من الصفر إذا كان تريتب ‪ str_var_1‬أكبر من ترتيب ‪ ،srt_var_2‬ومساوية‬
‫للصفر إذا كان ‪ str_var_1‬تكافيء‪. str_var_2‬‬
‫يجب األخذ في اإلعتبار أن الحروف الكبيرة أصغر من الحروف الصغيرة في نظام‬
‫آسكي(‪.)ascii‬‬
‫‪class use_compare‬‬
‫{‬
‫)‪public static void main(String[]args‬‬
‫{‬
‫‪;”String s1=”ABCDE‬‬
‫‪;”String s2=”abcde‬‬
‫‪;”String s3=”ABCDE‬‬
‫))‪;System.out.println(”s1 compare to s2 ”+s1.compareTo(s2‬‬
‫))‪;System.out.println(”s1 compare to s3 ”+s1.compareTo(s3‬‬
‫))‪;System.out.print(”s2 compare to s3”+s2.compareTo(s3‬‬
‫}‬

You might also like