فهرس المقرر
تقييم

الاختبار النهائي الشامل

اختبار شامل لكل مواضيع المقرر: من الدوال حتى قواعد البيانات.

«abstract»Shape CircleRectangleلا new Shape()

الاختبار النهائي الشامل

يغطّي المقرر كاملًا. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) الدالة التي لا تعيد قيمة نوعها:
2) ما الناتج؟
snippet
public class Main{    static int pw(int b, int e)    {        if (e == 0) return 1;        return b * pw(b, e - 1);    }     public static void main(String[] args)    {        System.out.println(pw(2, 3));    }}
3) الكائن هو:
4) اسم دالة البناء:
5) لاستيراد كل كلاسات java.util:
6) المحدد الذي يقصر الوصول على الكلاس:
7) المتغير المشترك بين كل الكائنات:
8) في التغليف، الشرط يوضع في:
9) ما الناتج؟
snippet
class P{    P() { System.out.print("P"); }} class C extends P{    C() { System.out.print("C"); }} public class Main{    public static void main(String[] args)    {        new C();    }}
10) ما الناتج؟
snippet
class Animal{    String name() { return "Animal"; }} class Cat extends Animal{    @Override    String name() { return "Cat"; }} public class Main{    public static void main(String[] args)    {        Animal a = new Cat();        System.out.println(a.name());    }}
11) الكلاس الذي لا يُنشأ منه كائن:
12) finally:
13) الكلاس المستخدم للكتابة إلى ملف:
14) المكوّن الذي يمثّل زرًّا في Swing:
15) أمر SQL لقراءة البيانات:
16) الكلاس ينفّذ الواجهة باستخدام الكلمة:
17) لمعرفة عدد عناصر القائمة ArrayList نستخدم:

2السؤال الثاني: صح أم خطأ

1) Overloading يكون بين الأب والابن.
الصواب: خطأ
2) protected يتيح الوصول للكلاسات الوارثة في حزمة أخرى.
الصواب: صح
3) لا تدعم جافا وراثة كلاس من كلاسين بـ extends.
الصواب: صح
4) SQLException من نوع Unchecked.
الصواب: خطأ
5) PreparedStatement يحمي من حقن SQL.
الصواب: صح
6) Checked Exception خطأ صياغة يمنع الترجمة.
الصواب: خطأ

3السؤال الثالث: أسئلة عملية

1) تتبّع الناتج:

snippet
class Account{    private double b;    static int n = 0;    Account(double b) { this.b = b; n++; }    void add(double x) { if (x > 0) b += x; }    double get() { return b; }} public class Main{    public static void main(String[] args)    {        Account a = new Account(50);        Account c = new Account(10);        a.add(25);        c.add(-5);        System.out.println(a.get() + " " + c.get() + " " + Account.n);    }}
الناتج الصحيح:
Output×
75.0 10.0 2

2) تتبّع الناتج:

snippet
abstract class V{    abstract int wheels();    void info() { System.out.println(getClass().getSimpleName() + ": " + wheels()); }} class Bike extends V { int wheels() { return 2; } }class Car extends V { int wheels() { return 4; } } public class Main{    public static void main(String[] args)    {        V[] vs = { new Bike(), new Car() };        for (V v : vs) v.info();    }}
الناتج الصحيح:
Output×
Bike: 2
Car: 4

3) تتبّع الناتج:

snippet
public class Main{    public static void main(String[] args)    {        int[] a = {4, 0, 2};        for (int i = 0; i < 4; i++)        {            try            {                System.out.println(8 / a[i]);            }            catch (ArithmeticException e)            {                System.out.println("zero");            }            catch (Exception e)            {                System.out.println("end");            }        }    }}
الناتج الصحيح:
Output×
2
zero
4
end

4) اكتب كلاس Student بخاصية private اسمها mark ودالتي get و set (تقبل 0 إلى 100 فقط)، وكلاس GradStudent يرثه ويضيف خاصية thesis. أنشئ GradStudent واضبط mark = 95 واطبعها.

الحل النموذجي:
Student.java
class Student{    private double mark;     public double getMark() { return mark; }     public void setMark(double mark)    {        if (mark >= 0 && mark <= 100) this.mark = mark;        else System.out.println("Invalid mark");    }} class GradStudent extends Student{    String thesis;} public class Main{    public static void main(String[] args)    {        GradStudent g = new GradStudent();        g.setMark(95);        System.out.println(g.getMark());    }}
Output – JavaApplication (run)×
run:
95.0
BUILD SUCCESSFUL (total time: 0 seconds)
قارن إجابتك بالحل:
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».