Special thanks to : magician Mu_Nizar Mohammad_807 www.ite-sy.net
1 إن نت جة تنف ذ البرنامج التال ه : class Father public static void Question1() System.out.println("I am the Method in Father Class"); class Son extends Father public void Question1() System.out.println("I am the Method in Son Class"); Son MySon = new Son(); MySon.Question1(); I am the Method in Son Class I am the Method in Father Class طباعة الجملة طباعة الجملة 1 2. static ألنه للتابع Ouestion1 override وجد خطأ Compiler ألنه ال مكن الق ام ب 3. static حدوث خطأ Compiler ألن التابع Question1 ف الصف Father ال مكن أن كون من النوع 4 بتعد ل البرنامج السابق ل صبح على الشكل التال تكون نت جة التنف ذ ه : 2 class Father public static void Question1()
System.out.println("I am the Method in Father Class"); class Son extends Father public static void Question1() System.out.println("I am the Method in Son Class"); Father MySon = new Son(); MySon.Question1(); I am the Method in Son Class I am the Method in Father Class طباعة الجملة طباعة الجملة 1 2 وجد خطأ Compiler ألنه ال مكن الق ام ب override للتابع Ouestion1 ألنه. static 3. static حدوث خطأ Compiler ألن التابع Question1 ف الصف Father ال مكن أن كون من النوع 4 : نجعل التابع Question1 غ ر static فتصبح نت جة التنف ذ للبرنامج التال ه 3 class Father public void Question1() System.out.println("I am the Method in Father Class");
class Son extends Father public void Question1() System.out.println("I am the Method in Son Class"); Father MySon = new Son(); MySon.Question1(); I am the Method in Son Class I am the Method in Father Class طباعة الجملة طباعة الجملة 1 2 حدوث حلقة ال نهائ ة من الطباعة و حصول. StackOverFlow Exception 3 4 وجد خطأ Compiler ف تعر ف MySon ف التابع MySon can t be declared as an ( main.)instance from Son Class 4- نت جة تنف ذ البرنامج التال ه : static class Father public void Question1() System.out.println("I am the Method in Father Class"); class Son extends Father public void Question1()
System.out.println("I am the Method in Son Class"); Father MySon = new Son(); MySon.Question1(); I am the Method in Son Class I am the Method in Father Class طباعة الجملة طباعة الجملة 1 2 3 وجد خطأ Compiler ألنه ال مكن الق ام ب override للتابع Ouestion1 ألنه الصف الذي حو ه هو صف. static حدوث خطأ. static هو صف Father ألن الصف Compiler 4-5 إن محاولة ترجمة الكود التال ه : class MyClass int i = 5; static int i; i is already defined in Class 1 وجد خطأ Compiler ألن المتحول i تم تعر فه أكثر من مرة (.)quiz.myclass. static وجد خطأ Compiler ألن المتحول i جب ته ئته بق مة داخل ال Scope الخاصة بالمتحوالت ال 2 الكود السابق خاطئ و كان من الممكن أن كون صح حا لو أن المتحول i )األول( كان من النوع. static 3
4 الكود السابق صح ح و ال حوي أ ة أخطاء. إن محاولة ترجمة الجزء التال من أحد البرامج ه : 6 class Father int i; Father(int i) System.out.println("I am Father Constructor"); class Son extends Father الترجمة ستكون ناجحة و ال توجد ف ها أ ة أخطاء. 1 س نتج خطأ Compiler ألنه جب كتابة البان االفتراض للصف Son من قبل المبرمج. 2 Compiler ألنه جب استدعاء البان الخاص بالصف Father الذي قمنا بكتابته ف أحد بوان 3 س نتج خطأ الصف. Son 4 الكود السابق تسبب ف Runtime Exception بسبب الغاء عمل البان االفتراض ف الصف Father بعد أن قمنا بكتابة بان غ ر البان االفتراض. اإلجابة ل ست أي من اإلجابات السابقة. 5 : لد نا الصف MyClass الذي حوي التابع التال 7 class MyClass int MyClass() return 3;
إن التابع السابق هو بان خاص بالتابع. MyClass 1 التابع السابق هو تابع عادي و ال عتبر بان ا. 2 وجد خطأ Compiler ف التابع السابق ألنه ال مكن أن رد ق مة و كون من نفس اسم الصف. 3 مكن تجاوز الخطأ الموجود ف الخ ار السابق عن طر ق جعل التابع السابق. static اإلجابة الصح حة مختلفة عن ما سبق. 4 5-8 إن الخطأ الذي س ظهر ف الكود التال هو : class MyClass static MyClass() System.out.println("I am The First Statement here!"); this(); س ظهر خطأ وح د هو أن البان ال مكن أن كون. static 1. static س ظهر خطأ وح د أنه ال مكن أن نكتب تعل مة this داخل التوابع ال 2 س ظهر خطأ وح د أن تعل مة this جب أن تكون أول تعل مة ف البان. 3 : س ظهر الخطأ األول و الثالث فقط. ستظهر األخطاء الثالثة األولى جم عها. إن محاولة تنف ذ البرنامج التال ه 4 5 9 Main obj = new Main();
void print() System.out.println("inside print Method"); this.print(); س تم التنف ذ بنجاح و تتم طباعة العبارة. inside print Method 1 وجد خطأ ف تعر ف المتحول. obj 2 this داخله. وجد خطأ داخل التابع main ألنه ال مكن استعمال التعل مة 3 اإلجابة 2 و. 3 4 اإلجابة الصح حة مختلفة عما سبق. 5 إن محاولة تنف ذ البرنامج التال ه : 10 static int i; int y; i = y; System.out.println(i);. static وجد خطأ Compiler ف تعر ف المتحول y ألنه ال مكن تعر فه داخل تابع 1 ستتم طباعة ق مة i و ستكون. 0 ستتم طباعة ق مة i و ستكون ق مة عشوائ ة متغ رة عند كل تنف ذ. 2 3
. main Compiler ألنه جب ته ئة المتحول y قبل استخدامه ف التابع 4 وجد خطأ 5 األجوبة السابقة جم عها خاطئة ألنه س حدث NullPoitnerException بسبب عدم ته ئة المتحول y قبل استخدامه. إن نت جة تنف ذ البرنامج التال ه : 11 String[] str; public void I_Will_Call_main() main(str); I_Will_Call_main(); ستحصل استدعاءات غ ر منته ة أثناء التنف ذ ب ن كل من التابع ن السابق ن ألن كل منهما ستدع اآلخر. 1 Compiler ألنه ال مكن أن تم استدعاء التابع main الذي هو static من قبل تابع آخر ل س 2 وجد خطأ. static 3 وجد خطأ Compiler ألنه ال مكن أن تم استدعاء التابع I_Will_Call_main الذي هو غ ر static من قبل التابع main الذي حمل الصفة. static سنحصل على الخطأ ن الموجود ن ف الخ ار الثان و الثالث. 4 Compiler س تجاهل استدعاء التابع main ف أي تابع آخر و تابع 5 األجوبة السابقة جم عها خاطئة ألن ال تنف ذ تعل مات البرنامج بشكل طب ع. إن محاولة ترجمة الكود التال ستكون : 12 public String tostring()
return "String"+ this; Main obj = new Main(); obj.tostring(); طباعة العبارة طباعة العبارة طباعة العبارة String عدد ال نهائ من المرات دون توقف. String و اسم الكائن String و اسم الكائن ( )obj عدد ال نهائ من المرات دون توقف. ( )obj مرة واحدة فقط. 1 2 3 طباعة اسم الكائن ثم العبارة String ثم اسم الكائن مرة أخرى و ذلك لمرة واحدة فقط. 4 جم ع ما سبق خاطئ ألننا سنحصل على. StackOverflowError 5 ل كن لد نا الكود التال : 13 interface Monster void menace(); interface DangerousMonster extends Monster void destroy(); abstract class DragonZilla implements DangerousMonster public void menace()
1 سنحصل على خطأ Compiler ألن الصف المجرد ( )DragonZilla ال مكن أن قوم ب implement ل. interface 2 سنحصل على خطأ Compiler ألن ال )DangerousMonster( interface ال مكن أن تقوم بعمل ة implements ل interface أخرى.. destroy سنحصل على خطأ Compiler ألن الصف DragonZilla لم قم بإعادة تعر ف التابع 3 4 وجد خطأ ف الكود السابق و كان من الممكن أن كون صح حا لو أن الصف DragonZilla لم كن. abstract جم ع األجوبة السابقة خاطئة ألن الكود السابق صح ح و ال حوي أ ة أخطاء. 5 نض ف صفا إضاف ا للكود السابق ل صبح كما ل : 14 interface Monster void menace(); interface DangerousMonster extends Monster void destroy(); abstract class DragonZilla implements DangerousMonster public void menace() class MyClass extends DragonZilla 1 سنحصل على خطأ Compiler ألن الصف المجرد ( )DragonZilla ال مكن أن قوم ب implement ل. interface 2 سنحصل على خطأ Compiler ألن ال )DangerousMonster( interface ال مكن أن تقوم بعمل ة implements ل interface أخرى.. destroy سنحصل على خطأ Compiler ألن الصف MyClass لم قم بإعادة تعر ف التابع 3 وجد خطأ ف الكود السابق و كان من الممكن أن كون صح حا لو أن الصف MyClass كان. abstract 4
5 الخ اران 3 و. 4 15- إن المتحوالت ف أي interface ه final و : static العبارة السابقة صح حة. العبارة السابقة خاطئة. 1 2 : إن كتابة متحوالت private ف أي interface س تسبب ب 16 Compiler Error 1 RuntimeException -2 RuntimeException Warning Exception و لكن ل س من النوع 3 4 مكن وضع متحوالت private ف interface دون أن تسبب ذلك بأي خطأ. 5 أي من األسطر البرمج ة التال ة صح ح : 17 1- abstract void function(); 2- void function(); 3- abstract void function(int y); 4- int void function(int y); 5- none of the above. 1- static interface Myinterface 2- private interface Myinterface 3- protected interface Myinterface 4- final interface Myinterface 5- none of the above. : أي من األسطر البرمج ة التال ة صح ح : أي من األسطر البرمج ة التال ة خاطئ 18 19 1- interface SecondInterface extends Myinterface 2- interface SecondInterface extends Thread 3- interface SecondInterface implements Myinterface
4- interface SecondInterface extends Myinterface extends Thread 5-2 & 3 & 4. إن محاولة تنف ذ البرنامج التال ه : 20 class Father void MethodToOverride() System.out.println("I am The Method in Father Class"); class Son extends Father private void MethodToOverride() System.out.println("I am The Method in Son Class"); Father son = new Son(); son.methodtooverride(); طباعة العبارة. I am The Method in Son Class 1 2- وجد خطأ Compiler ألن التابع MethodToOverride هو تابع private و ال مكن استدعائه من الكائن. Main الذي أنشأناه ف الصف son MethodToOverride للتابع override وجد خطأ Compiler ف ال عند االبن ح ث ال مكن أن كون 3. private طباعة العبارة.I am The Method in Father Class 4
5 كان من الممكن أن كون البرنامج قابال للتنف ذ لو أن التابع MethodToOverride عند االبن كان static ولم كن.private اإلجابتان 3 و 5 صح حتان. 6 بتغ ر طف ف على البرنامج السابق تصبح نت جة التنف ذ ه : 21 class Father void MethodToOverride() System.out.println("I am The Method in Father Class"); class Son extends Father public void MethodToOverride() System.out.println("I am The Method in Son Class"); Father son = new Son(); son.methodtooverride(); طباعة العبارة. I am The Method in Son Class 1 2 وجد خطأ Compiler ف ال override للتابع MethodToOverride public دون أن كون public عند األب أ ضا. عند االبن ح ث ال مكن أن كون طباعة العبارة.I am The Method in Father Class 3
4 كان من الممكن أن كون البرنامج قابال للتنف ذ لو أن التابع MethodToOverride عند االبن كان static ولم كن. public اإلجابتان 2 و 4 صح حتان. 5-22 أي من اإلسنادات التال ة خاطئ class MyClass class A extends MyClass void doit(); class B extends A void dothisa(); class C MyClass ss=new MyClass(); A a=new A(); B b=new B(); C c=new C(); b.dothisa(); a=b; a.doit(); a=(a)ss;//1 a.doit(); b=(b)a;//2
b.dothisa(); b=(b)c;//3 اإلسناد ف السطر 3 اإلسناد ف السطر ن 2-3 اإلسناد ف األشطر 3-2-1 اإلسناد ف السطر ن 2-1 اإلسنادات السابقة كلها صح حة. - 2-4 - 5 إن نت جة تنف ذ الكود التال ه : 23 class outer private int x; void nonstaticmethod() public static void dothis() class inner_inside_method void doit() x=1; nonstaticmethod(); //1
عط compiler error ألن مكان تعر ف الكالس inner_inside_method خاطئ. - 2 سنحصل على compiler error ألنه ال مكن كتابة inner class ف تابع حمل الصفة. static كان من الممكن أن نتجاوز الخطأ الموجود ف الخ ار 2 لو أن ال inner class كان من النوع. static - 4 سنحصل على compiler error عند استدعاء التابع nonstaticmethod ألنه تم وضع تابع غ ر static داخل محتوى.)static context( static - 5 اإلجابة 2 و. 3-6 الكود صح ح تماما class outer private int x; public void dothis() class inner_inside_method الحظ أنه ف الكود السابق مكن أن كون الصفinner_inside_method : public static - 2 protected private - 4 إن نت جة تنف ذ الكود السابق ه : 24 class myintint x; static myint x; int y; static x=new myint(); x.x=1;//1 System.out.print("x");//2
و 1 y=1; //3 public static void main(string[] args ) System.out.println(x.x); compiler error لوجود السطر 1 x1 compiler error لوجود السطر 2 compiler error لوجود السطر 3 البرنامج السابق عط RuntimeException أثناء التشغ ل. - 2-4 - 5-25 ما نت جة تنف ذ الكود التال باعتبار أننا قمنا ب : import java.util.stack class myclass Stack s=new Stack(); void mymethod() s.push("this"); s.push("is"); s.push("test"); String s2 = ""; s2=s2+s.pop();//1 s2=s.pop()+s.pop();//2 2 Compiler Error ف 1 Compiler Error ف 2 Compiler Error ف - 2
- 4 الكود السابق صح ح تماما. - 26 لد نا البرنامج التال : public static void main(string[] args ) try System.out.print("nothing to try"); catch(something e) e.tostring(); إن somthing ممكن أن تكون :.Throwable& Exception.FileNotFound&IOException - 2.Exception&FileNotFound.FileNotFound&Throwable - 4-5 جم ع الخ ارات السابقة خاطئة. أي من األسطر ف البرنامج التال س عطError Compiler أو : Exception 27 public static void main(string[] args ) Integer i1=null;//1 int i2=null;//2 Integer i3=new Integer(null);//3
.2 Compiler error.3 Exception - 2.1 Exception.2 Compiler error,3 Exception - 4.2 Exception - 5 إن نت جة تنف ذ الكود التال ه : 28 void show()system.out.println("test"); String s; public static void main(string[] args ) show();//1 s="test";//2.s للمتحول new طباعة العبارة.test Compiler Error بسبب السطر.1 Compiler Error بسبب السطر.2 Compiler Error بسبب السطر ن 1 و 2. س حصل Exception أثناء التشغ ل ألننا لم نقم بعمل ة - 2-4 - 5 أي من األسطر التال ة س ظهر عنده : Compile Error 29 class MyClass int i1; Integer i2 = new Integer(5); int i3= 8;
Integer i4 = new Integer(null); Integer i5= new Integer(null); String s = new String(); s = i5;//5 System.out.println(new MyClass().i1);//1 System.out.println(new MyClass().i2);//2 System.out.println(i3);//3 System.out.println(i4);//4 : 1,2 3,5-2 5 1,5-4 4,5,3-5 نت جة تنف ذ الكود التال ه 30 String SS = new String(); System.out.println(SS); طباعة سطر فارغ. - 2 Error Compiler عند تعل مة الطباعة. Exception عند تعل مة الطباعة. - 4 طباعة ق مة عشوائ ة مختلفة عند كل تنف ذ.
31 لك تم طباعة العبارة do something ف الكود التال جب أن تكون ق مة equals ه : String str1=new String("test1"); String str2=new String("test1"); String str3="test1"; String str4="test1"; if( equals ) System.out.println("do something"); str1==str2 str1==str3 str1==str4 str3==str4 إن كل الق م السابقة صح حة. - 2-4 - 5 32 لك ال تم طباعة العبارة do something ف الكود التال جب أن تكون notequals ه : String str1=new String("test1"); String str2=new String("test1"); String str3="test1"; String str4="test1"; if( notequals ) System.out.println("do something");
.str1.equals(str2).str1.equals(str3).str3.equals(str4) جم ع األجوبة السابقة خاطئة. جم ع األجوبة السابقة صح حة. - 2-4 - 5 إن نت جة تنف ذ الكود التال ه : 33 class Ops int i,j; Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.print (n1 == n2); System.out.print (n1!= n2); System.out.print (n1.equals(n2)); Ops obj1 = new Ops(); Ops obj2 = new Ops(); obj2.i=obj2.j=1; System.out.print (obj1.equals(obj2));.true false true true.true false false false - 2.false true true false.false true false true - 4
:.false true false false - 5 إن نت جة تنف ذ البرنامج التال ه 34 class Test void Test () System.out.print("First "); return; Test() System.out.print("Second "); Test T = new Test(); T.Test();//1.Second First.First Second وجد Compiler Error بسبب تشابه اسم التابع ن ف الصف. Test س حصل Exception أثناء التشغ ل. وجد Compiler Error عند استدعاء التابع Test ف ال main )السطر 1(. - 2-4 - 5 إن نت جة تنف ذ البرنامج التال ه : 35 class Overloading Overloading(int i)
System.out.print("I am int Constructor"); Overloading(Integer i) System.out.print("I am Integer Constructor"); Overloading(float f) System.out.print("I am Constructor with f "); Overloading() System.out.print("I am default Constructor "); Overloading O = new Overloading(5);//1.I am int Constructor.I am Integer Constructor.I am default Constructor I am int Constructor.I am default Constructor I am Integer Constructor.I am Constructor with f - 2-4 - 5 36 نستبدل السطر 1 ف البرنامج السابق بالسطر Overloading(5.5);//1 new فتصبح نت جة التنف ذ : I am Constructor with f I am defualt Constructor - 2.I am Integer Constructor.I am int Constructor - 4 compiler error - 5
37 نستبدل السطر 1 ف البرنامج السابق بالسطر Overloading(f);//1 new فتصبح نت جة التنف ذ :.I am Constructor with f - 2 س تم التنف ذ و لكن ال وجد خرج..Compiler Error - 4 وجد Compiler Error و نستط ع تصح حه عن طر ق إضافة بان آخر أخذ الق مةString ف الصف.Overloading - 5 األجوبة السابقة جم عها خاطئة ألن ما س حصل هوRuntimeException. class Overloading نعدل البرنامج السابق ل صبح كما ل فتكون نت جة التنف ذ ه : 38 Overloading(int i) System.out.print("I am int Constructor"); Overloading(Integer i) System.out.print("I am Integer Constructor"); Overloading(double d) System.out.print("I am Constructor with d "); Overloading(String s) System.out.print("I am String Constructor "); Overloading O = new Overloading("5".hashCode());
5 الت تم تمر رها للتابع ف ال new للق مة I am Integer Constructor I am String Constructor - 2 I am int Constructor - 4 Error Compiler بسبب عدم الق ام بعمل ة. main int الذي أخذ وس طا من النوع Overloading بسبب التضارب ب ن البان Compiler Error - 5. String و البان اآلخر الذي أخذ وس طأ من النوع الكود التال مثل جزءا من أحد البرامج فهل هو صح ح أم حويErrors Compiler : 39 class OverLL public int OverLL(int i) System.out.println("int Value"); return 0; public String OverLL(int i) System.out.println("String Value"); return new Integer(4).toString(); الكود السابق صح ح. حوي Compiler Error وح د. حوي.2 Compiler Errors - 2 هل وجد خطأ ف البرنامج التال أم ال : 40 throw new ClassNotFoundException();//1
ال وجد أ ة أخطاء و البرنامج صح ح و قابل للتنف ذ. - 2 وجد Compiler Error و من ممكن تصح حه عن طر ق إضافة try, catch لتعل مة. throw throws وجد Compiler Error و من الممكن تصح حه عن طر ق إضافة. main للتابع ClassNotFoundException - 4 وجد Compiler Error و كان من الممكن عدم وجود هذا الخطأ لو أن ال Exception الذي نرم ه ف السطر 1 كان رث من النوع. RuntimeException - 5 اإلجابتان 2 و 3 صح حتان. - 6 األجوبة 2 و 3 و 4 صح حة. ما ناتج تنف ذ البرنامج التال : 41 Integer[] array = new Integer[2]; int x=0 ; array[x]=x=1;//1 System.out.println(array[0]); System.out.println(array[1]);//2 طباعة 1 ثم طباعة.null طباعة null ثم طباعة. 1 طباعة null ثم طباعة. null وجد Compiler Error عند السطر. 1 س حصل NullPointerException عند السطر. 2-2 - 4-5 لد نا الصفوف الثالثة التال ة : 42 class a
void eat () public a() System.out.println(" in a"); c cobject = new c(8); eat(); class c b bobject = new b(); c(int i) System.out.println(" in c"); System.out.println(i); class b extends a private Integer color = new Integer(1); void eat () System.out.println(color); void b() System.out.println(" in b"); ما هو ناتج تنف ذ الكود التال على الصفوف الثالثة السابقة : b ObjectInb = new b();
طباعة الجملةb in لمرة واحدة فقط. طباعة الجملةc in لوحدها عدد ال نهائ من المرات دون توقف. طباعة الجملa in و in c و in b على التناوب و ذلك لعدد ال نهائ من المرات. طباعة الجملةa in لوحدها عدد ال نهائ من المرات دون توقف. حدوث StackOverflowError بعد فترة قص رة من تشغ ل البرنامج و توقف البرنامج عن العمل. - 2-4 - 5 إن نت جة تنف ذ البرنامج التال ه : 43 public class DirtyClass for (int i = 0; i < 5; i++) System.out.println("Simple Text");//1 System.err.println("Error!");//2 طباعة الجملة األولى )السطر 1( خمس مرات ثم طباعة الجملة الثان ة )السطر 2( خمس مرات. طباعة كل من الجملت ن خمس مرات بالتناوب و ذلك ابتداء من الجملة األولى. - 2 طباعة الجملة األولى ف بدا ة الخرج و الثان ة ف نها ته دائما. ال مكن التنبؤ بالخرج ح ث س كون مختلفا عند كل تنف ذ. األجوبة السابقة جم عها غ ر صح حة. - 4-5 إن ناتج تنف ذ البرنامج التال هو: 44 public void method(object o)
System.out.println("Object Version"); public void method(string s) System.out.println("String Version"); public static void main(string args[]) Main question = new Main(); question.method(null);//1 وجد Compiler Error عند السطر 1. س تم طباعة. String Version س تم طباعةVersion. Object س حصل Exception أثناء تشغ ل البرنامج بسبب السطر 1. - 2-4 بعد تعد ل البرنامج السابق ل صبح كالتال تكون نت جة التنف ذ ه : 45 public void method(stringbuffer sb) System.out.println("StringBuffer Verion"); public void method(string s) System.out.println("String Version");
public static void main(string args[]) Main question = new Main(); question.method(null);//1 وجد Compiler Error عند السطر 1. س تم طباعة. String Version س تم طباعة. StringBuffer Version س حصل Exception أثناء تشغ ل البرنامج بسبب السطر 1. - 2-4 بعد تعد ل البرنامج السابق ل صبح كالتال تكون نت جة التنف ذ ه : 46 public void method(stringbuffer sb) System.out.println("StringBuffer Verion"); public void method(string s) System.out.println("String Version"); public static void main(string args[]) Main question = new Main(); question.method("hammood");//1
وجد Compiler Error عند السطر 1. س تم طباعة. String Version س تم طباعة. StringBuffer Version س حصل Exception أثناء تشغ ل البرنامج بسبب السطر 1. - 2-4 ل كن لد نا ال interface التال ة : 47 public interface AQuestion public abstract void somemethod() throws Exception; : إن الصف الذي س قوم ب implement لهذه الواجهة جب أن throws ل كون abstract بالضرورة. ملك تابعا هو;() somemethod public abstract void ملك تابعا هو somemethod() public void و جب على هذا التابع أن قوم ب Exception - 2-4 أن ملك تابعا هو() somemethod public void دون ضرورة لعمل ة throws ل.Exception - 48 ل كن لد نا البرنامج التال : private int i = j; //1 private int j = 10; System.out.println((new Main()).i); وجد Compiler Error ألنه ال مكن الوصول إلى المتحولi من التابعmain ألن هذا التابعstatic.
- 2 وجد Compiler Error عند السطر 1 بسبب عمل ة forward reference غ ر مسموحة. البرنامج ال حوي أ ة أخطاء و الخرج هو 10. البرنامج ال حوي أ ة أخطاء و الخرج هو 0. الخ اران 1 و. 2-4 - 5-49 ف الكود التال تتغ ر ق مة i من 12 إلى 14 عندما : class outer public static int j=12; public class inner inner() outer.this.j=14; System.out.println(outer.this.j); public inner newinner() //1 return new inner(); تم تعر ف object من ف الmain. outer تم تعر ف object من inner ف ال.main تم تعر فobject من outer واستدعاء تابع() newinner ف ال.main الجواب ن 3-2. - 2-4 - 5 األجوبة السابقة جم عها خاطئة.
50 ف الكود السابق طر قة تعر ف object من inner ه : 1- outer o=new outer(); outer.inner i1=o.newinner();// newinner() is the method in line 1 2- outer o=new outer(); outer.inner i2=o.new inner(); 3- outer.inner oo = new outer.inner() اإلجابتان 1 و. 2 4- األجوبة السابقة جم عها صح حة. -5 ف الكود السابق أ ضا بفرض الصف inner له private accsess فإنه : 51 ال مكن االستفادة من هذا الكالس خارج ال. outer 2 -ال مكن الوصول لهذا الكالس إال بتعر ف object من الouter ثم تعر فobject منه. 3 - مكن االستفادة من هذا الكالس بتعر ف تابع ضمن ال outer رد object من الinner. ما هو خرج البرنامج التال : 52 class MyClass private int j=12; j++; //1 System.out.println(j); //2
MyClass o=new MyClass(); الخرج هو 12. الخرج هو 13. وجد Compiler Error ف السطر 1. وجد Compiler Error ف السطر 2. - 2-4 نت جة تنف ذ البرنامج التال ه : 53 boolean [] first=new boolean[3]; boolean [] second=new boolean[3]; for(int i=0;i<first.length;i++) System.out.print((first[i].equals(second[i]))); true true true- false false false- true false true- -نت جة عشوائ ة متغ رة عند كل تنف ذ. - وجد Compiler Error و مكن حله بجعل نوع المصفوفاتBoolean بدال منboolean. 1 2 3 4 5
6 -األجوبة السابقة جم عها خاطئة ألنه ال مكن استعمالequal مع الboolean. ما هو خرج البرنامج التال : 54 void test()throws IOException System.out.println("test 1"); Main m=new Main(); m.test(); //1. main البرنامج س طبع عبارة 1.test س حصل Exception أثناء التنف ذ. وجد Compiler error و مكن حله بإضافةtry-catch للسطر 1. وجد Compiler Error و مكن حله بإضافةIOException throws للتابع اإلجابتان 3 و. 4-2 - 4-5 - 6 باإلضافة لإلجابت ن 3 و 4 مكن حل الخطأ بإضافةIOException throws للصف. Main هل وجد أخطاء ف البرنامج التال : 55 class father public father() System.out.println("father constructor");
abstract class abs extends father //1 public abs() //2 System.out.println("abs constructor"); class son extends abs public son() System.out.println("son constructor"); son s=new son(); 1 وجد خطأ ألن الصف المجرد ال مكن أن حوي بان ا )السطر 2 (. 2 وجد خطأ ألن الصف المجرد ال مكن أن رث من صف غ ر مجرد )السطر 1 (. 3 ال وجد خطأ و الخرج هو : father constructor abs constructor son constructor 4 ال وجد خطأ و الخرج هو )ح ث لن تم المرور على البان ف الصفabs ألنه مجرد( :
father constructor son constructor 5 اإلجابتان 1 و. 2 هل وجد أخطاء ف البرنامج التال : 56 interface my_interface void print(int x)throws IOException; class my_class implements my_interface public void print(int x) System.out.println("x= "+x); my_class mm=new my_class(); mm.print(3); //1. main البرنامج س طبع عبارة 3 =x. س حصل Exception أثناء التنف ذ. وجد Compiler error و مكن حله بإضافةtry-catch للسطر 1. وجد Compiler Error و مكن حله بإضافةIOException throws للتابع - 2-4
- 5 اإلجابتان 3 و. 4 throws IOException للتابع باإلضافة لإلجابت ن 3 و. my_class 4 مكن حل الخطأ بإضافة print ف الصف - 6 ما ه نت جة تنف ذ البرنامج التال : 57 class test void print() System.out.println("test..print"); class test_son extends test void print () throws IOException System.out.println("test2..print"); throw new IOException(); test_son t=new test_son(); t.print(); //1 throws للتابع override أن قوم بعمل ة son print مع إضافة 1 وجد Compiler Error ألنه ال مكن للصف IOException لهذا التابع.
Exception الذي ف التابع print كان 2 وجد Compiler Error ف السطر. 1 3 كان من الممكن أن كون البرنامج سل ما من األخطاء و قابال للتنف ذ لو أن ال من النوع. RuntimeException 4 البرنامج سل م من األخطاء و لكن حصل ف هIOException أثناء التنف ذ. 5 اإلجابتان 1 و. 3 6 اإلجابات 1 و 2 و. 3 نت جة تنف ذ البرنامج التال ه : 58 class GeometricObject public GeometricObject() System.out.println("A"); public GeometricObject(float f, int i) System.out.println("B"); class Circle9 extends GeometricObject public Circle9() this(1); System.out.println("C"); public Circle9(int i) this(1,2,3); System.out.println("D"); public Circle9(int i,float f,double d) super(f,i); System.out.println("E");
Circle9 c = new Circle9(); ABCD BEDC - 2 BACD AEDC - 4 نت جة تنف ذ البرنامج التال ه : 59 class Test1 public static void main (String[] args) xmethod(5); public static void xmethod(int length) if(length > 1) System.out.println(length-1 + " " ); xmethod(length ); public static void main (String[] args) xmethod(5); public static void xmethod(int length) while(length > 1) System.out.println(length-1 + " " ); xmethod(length );
1-4 3 2 1. 2-4 3 2 1 1 1 1 1. 3-5 4 3 2 1. 4 2 3 4 5. (ثم تم طباعة العدد 1 دون توقف ( 1-5 4 3 2 نت جة تنف ذ البرنامج التال ه : 60 public static void main (String[] args) System.out.println("Before try"); try catch(java.io.ioexception e ) System.out.println("done"); وجد Compilerألنه Error لم تم رم IOException داخل تعل مةtry. وجد Compiler Error ألنه ال وجد تعل مةfinally. البرنامج صح ح و طبع عبارةtry. Before البرنامج صح ح و طبع عبارةtry Before ثم عبارة. done - 2-4 نت جة تنف ذ البرنامج التال ه : 61 public static void main (String[] args) int [] array = 1,2,3,4,5;
reverse(array); for(int i = 0;i<array.length;i++) System.out.println(array[i]+ " "); static void reverse (int []a) int aa[] = a; for(int i = 0;i<a.length;i++) aa[i] = a[a.length-1-i]; وجد Compiler Error و البرنامج غ ر قابل للتنف ذ. البرنامج طبع 1 5 4 3 2 البرنامج طبع 1 1 2 3 2 البرنامج طبع 5 5 4 3 4 البرنامج طبع 5 4 3 4 5 ثم توقف بسببArrayIndexOutOfBoundsException - 2-4 - 5 إن نت جة تنف ذ البرنامج التال ه : 62 int i = getj(); //1 int getj() return j; int j=10;
System.out.println(new Main().i); //2.1 وجد Compiler Error بسبب عمل ة forward reference غ ر مسموحة ف السطر - 2 وجد Compiler Error ف السطر.2 البرنامج صح ح و طبع 0. البرنامج صح ح و طبع 10. اإلجابتان 1 و. 2-4 - 5 األجوبة : 3 2 1 4 4 3 2 4 3-2 - 4-5 - 6-7 - 8-9 40 31 52 53 54 15 16
17 3-18 5-19 5-20 3-21 1-22 1-23 4-24 2-25 2-26 1-27 4-28 4-29 2-30 1-31 4-32 4-33 3-34 1-35 1-36 5-37 3-38 3-39 2-40 6-41 1-42 5-
4-43 2-44 1-45 2-46 4-47 2-48 4-49 4-50 3-51 2-52 5-53 5-54 3-55 5-56 6-57 2-58 5-59 1-60 4-61 3-62
مالحظات : - الهدف من السؤال 8 هو معرفة أنه تم ارتكاب ثالثة أخطاء ف الكود و ه : البان ال مكن أن كونstatic ال مكن استخدامthis ف تابع static جب أن تكون this أول تعل مة ف البان عندما تش ر لبان آخر. - 2 و لكن الكومبا لر ال ظهر لنا الخطأ الثان ألسباب تتعلق ببناء الكومبا لر ال عالقة لنا بها اآلن. ف السؤال 43 ال مكن توقع الخرج ألن كال من out و err لد ه Buffer خاص به و تم إفراغ هذا ال Buffer بشكل غ ر منتظم )أي ف كل مرة تم إفراغ أحدهما قبل اآلخر( و هذا ؤدي إلى ظهور ترت ب مختلف للجمل ف كل مرة. - ألي مالحظات أو تنب ه عن وجود أخطاء مكن التواصل على m-khaled89@hotmail.com HammooD Damascus university 2010