Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - آلة حاسبة بسيطة

جزء من قسم Object Oriented Programming في رحلة Java على Coddy — الدرس 9 من 87.

challenge icon

التحدي

صعب

قم ببناء فئة Calculator كاملة تستخدم جميع المفاهيم التي تعلمتها:

  • الحقول (Fields): حقول خاصة (Private) لـ name (String)، و memory (double)، و operationCount (int)
  • المشيدات (Constructors): مشيد بمعاملات (parameterized constructor) ومشيد افتراضي (default constructor) يستخدم تسلسل this()
  • الكلمة المفتاحية this: استخدم this لتعيين الحقول والوصول إليها في الدوال
  • دوال الجلب (Getters): getName()، و getMemory()، و getOperationCount()
  • الدوال (Methods): add، و subtract، و multiply، و divide، و power

تقوم الدالة add بتخزين نتيجتها في memory. تقوم جميع الدوال بزيادة operationCount. تعيد الدالة divide القيمة 0 إذا كانت القسمة على صفر. تستخدم الدالة power الدالة Math.pow().

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        double num1 = Double.parseDouble(scanner.nextLine());
        double num2 = Double.parseDouble(scanner.nextLine());
        
        Calculator calc = new Calculator(name);
        
        System.out.println("Calculator: " + calc.getName());
        System.out.println("Memory: " + calc.getMemory());
        
        System.out.println("Add: " + calc.add(num1, num2));
        System.out.println("Subtract: " + calc.subtract(num1, num2));
        System.out.println("Multiply: " + calc.multiply(num1, num2));
        System.out.println("Divide: " + calc.divide(num1, num2));
        System.out.println("Divide by zero: " + calc.divide(num1, 0));
        System.out.println("Memory: " + calc.getMemory());
        System.out.println("Power: " + calc.power(num1, num2));
        System.out.println("Operations: " + calc.getOperationCount());
    }
}

جميع دروس Object Oriented Programming