مراجعات الوحدات التراكمية
بعد كل وحدة: أسئلة تجمع مواضيعها، كأن يأتي التغليف داخل الوراثة، أو الاستثناءات داخل دالة. هذا ما يبني الفهم الحقيقي.
للمراجعة قبل الحلّ: 1. الدوال المعرّفة من قبل المستخدم
مراجعة الوحدة الأولى: الدوال
مراجعة الوحدة الأولى: الدوال — أسئلة مراجعة لمواضيع الوحدة. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
public class Main{ static int twice(int x) { return x * 2; } static int add(int a, int b) { return a + b; } public static void main(String[] args) { System.out.println(add(twice(3), 3)); }}
public class Main{ static void f(int a) { System.out.println("int"); } static void f(double a) { System.out.println("double"); } public static void main(String[] args) { f(2.5); }}
public class Main{ static int sum(int n) { if (n == 0) return 0; return n + sum(n - 1); } public static void main(String[] args) { System.out.println(sum(5)); }}
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أسئلة عملية
1) تتبّع الناتج:
public class Main{ static void line(char c, int n) { for (int i = 0; i < n; i++) System.out.print(c); System.out.println(); } public static void main(String[] args) { line('*', 3); line('-', 5); }}
2) اكتب دالة static اسمها isEven تستقبل عددًا وتعيد true إذا كان زوجيًّا، واطبع isEven(7).
public class Main{ static boolean isEven(int n) { return n % 2 == 0; } public static void main(String[] args) { System.out.println(isEven(7)); }}
للمراجعة قبل الحلّ: 2. مقدمة إلى البرمجة الشيئية: الكلاس والكائن · 3. دالة البناء Constructor · 4. الحزم Packages
مراجعة الوحدة الثانية: أساسيات البرمجة الشيئية
مراجعة الوحدة الثانية: أساسيات البرمجة الشيئية — أسئلة مراجعة لمواضيع الوحدة. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
class Item{ static int count = 0; String name; Item(String n) { name = n; count++; }} public class Main{ public static void main(String[] args) { new Item("a"); new Item("b"); new Item("c"); System.out.println(Item.count); }}
class P{ String name; int age; P(String name, int age) { this.name = name; age = age; }} public class Main{ public static void main(String[] args) { P p = new P("Ali", 20); System.out.println(p.name + " " + p.age); }}
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أسئلة عملية
1) تتبّع الناتج:
class Rect{ int w, h; Rect(int w, int h) { this.w = w; this.h = h; } int area() { return w * h; }} public class Main{ public static void main(String[] args) { Rect a = new Rect(2, 3); Rect b = new Rect(4, 5); System.out.println(a.area() + b.area()); }}
2) اكتب كلاس Course بخاصيتين code و hours ودالة بناء بمعاملين، ثم اطبع code و hours لكائن ('CS101', 3).
class Course{ String code; int hours; Course(String code, int hours) { this.code = code; this.hours = hours; }} public class Main{ public static void main(String[] args) { Course c = new Course("CS101", 3); System.out.println(c.code + " " + c.hours); }}
للمراجعة قبل الحلّ: 5. محددات الوصول Access Modifiers · 6. محددات عدم الوصول: static و final · 7. التغليف Encapsulation
مراجعة الوحدة الثالثة: حماية البيانات والتحكم بالوصول
مراجعة الوحدة الثالثة: حماية البيانات والتحكم بالوصول — أسئلة مراجعة لمواضيع الوحدة. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
class Temp{ private int c; void setC(int v) { if (v < -50) System.out.println("Invalid"); else c = v; }} public class Main{ public static void main(String[] args) { new Temp().setC(-80); }}
class C{ static int s = 5;} public class Main{ public static void main(String[] args) { C a = new C(); C b = new C(); a.s++; System.out.println(a.s + " " + b.s); }}
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أسئلة عملية
1) تتبّع الناتج:
class Wallet{ private double money = 100; public void spend(double x) { if (x <= money) money -= x; else System.out.println("Not enough"); } public double getMoney() { return money; }} public class Main{ public static void main(String[] args) { Wallet w = new Wallet(); w.spend(30); w.spend(90); System.out.println(w.getMoney()); }}
للمراجعة قبل الحلّ: 8. الوراثة Inheritance · 9. تعدد الأشكال Polymorphism · 10. التجريد Abstraction
مراجعة الوحدة الرابعة: الوراثة وتعدد الأشكال والتجريد
مراجعة الوحدة الرابعة: الوراثة وتعدد الأشكال والتجريد — أسئلة مراجعة لمواضيع الوحدة. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
class A{ A() { System.out.print("A1 "); }} class B extends A{ B() { System.out.print("B1 "); } B(int x) { this(); System.out.print("B2"); }} public class Main{ public static void main(String[] args) { new B(5); }}
abstract class Shape{ abstract double area();} class Sq extends Shape{ double s = 2; double area() { return s * s; }} class Tri extends Shape{ double area() { return 8; }} public class Main{ public static void main(String[] args) { Shape[] all = { new Sq(), new Tri() }; double t = 0; for (Shape s : all) t = t + s.area(); System.out.println(t); }}
class Base{ String who() { return "Base"; } void show() { System.out.println(who()); }} class Derived extends Base{ @Override String who() { return "Derived"; }} public class Main{ public static void main(String[] args) { Base b = new Derived(); b.show(); }}
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أسئلة عملية
1) تتبّع الناتج:
class Emp{ double pay() { return 1000; }} class Manager extends Emp{ @Override double pay() { return super.pay() * 2; }} public class Main{ public static void main(String[] args) { Emp[] list = { new Emp(), new Manager() }; for (Emp e : list) System.out.println(e.pay()); }}
2) اكتب واجهة Printable فيها دالة print()، وكلاس Report ينفّذها ويطبع «Report printed»، ثم استدعها عبر متغير من نوع Printable.
interface Printable{ void print();} class Report implements Printable{ public void print() { System.out.println("Report printed"); }} public class Main{ public static void main(String[] args) { Printable p = new Report(); p.print(); }}
للمراجعة قبل الحلّ: 11. الاستثناءات Exceptions · 12. التعامل مع الملفات File Handling
مراجعة الوحدة الخامسة: الأخطاء والملفات
مراجعة الوحدة الخامسة: الأخطاء والملفات — أسئلة مراجعة لمواضيع الوحدة. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
public class Main{ public static void main(String[] args) { try { System.out.print("1 "); Integer.parseInt("abc"); System.out.print("2 "); } catch (NumberFormatException e) { System.out.print("3 "); } finally { System.out.print("4"); } }}
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أسئلة عملية
1) تتبّع الناتج:
public class Main{ static int safeDiv(int a, int b) { try { return a / b; } catch (ArithmeticException e) { return -1; } } public static void main(String[] args) { System.out.println(safeDiv(10, 2)); System.out.println(safeDiv(10, 0)); }}
للمراجعة قبل الحلّ: 13. الواجهات Interface · 14. القوائم الديناميكية ArrayList
مراجعة الوحدة السادسة: الواجهات Interface والقوائم ArrayList
مراجعة الوحدة السادسة: الواجهات Interface والقوائم ArrayList — أسئلة مراجعة لمواضيع الوحدة. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
import java.util.ArrayList;interface Printable { void printInfo(); }class Book implements Printable { public void printInfo() { System.out.println("Book"); }}class Student implements Printable { public void printInfo() { System.out.println("Student"); }}public class Main { public static void main(String[] args) { ArrayList<Printable> items = new ArrayList<>(); items.add(new Book()); items.add(new Student()); for (Printable p : items) p.printInfo(); }}
import java.util.ArrayList;public class Main { public static void main(String[] args) { ArrayList<String> a = new ArrayList<>(); a.add("x"); a.add("y"); a.add("z"); a.remove("y"); System.out.println(a.size()); }}
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أسئلة عملية
1) تتبّع الناتج:
import java.util.ArrayList;public class Main { public static void main(String[] args) { ArrayList<Integer> m = new ArrayList<>(); m.add(80); m.add(50); m.add(92); int max = m.get(0); for (int x : m) if (x > max) max = x; System.out.println(max); }}