مشروع مصغّر: آلة حاسبة لوحدة التحكم
أنشئ دالة آلة حاسبة صغيرة باستخدام switch من دون إدخال من وحدة التحكم. عالج العمليات + و- و* و/، وتحقّق من القسمة على صفر، وصمّم اختبارات واضحة.
مشروع مصغّر: آلة حاسبة لوحدة التحكم درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 3 دروس في المجموع.
موجز المشروع
الهدف: نفّذ أسلوبًا قابلًا لإعادة الاستخدام لآلة حاسبة من دون إدخال من وحدة التحكم. يستقبل الأسلوب رقمين ومعاملًا، ويعيد النتيجة، ويتحقق من القسمة على صفر.
تصميم API
API
static double calc(double a, double b, char op)- op:
'+'،'-'،'*'/'x'،'/' - المعامل غير الصالح: اطرح
IllegalArgumentException - لا تُدخل بيانات المستخدم داخل الأسلوب
منطق switch
منطق switch
- اجمع تسميات الضرب:
*وxوX - استخدم
defaultللمعاملات غير المعروفة - أعد نتيجة من كل حالة
القسمة على صفر
القسمة على صفر
- تحقق من
b == 0عندما يكونop == '/' - اطرح
IllegalArgumentException("Division by zero") - لا تعتمد على Infinity وفق معيار IEEE عند تعليم المبتدئين
خطة الاختبار
الاختبار
- المسارات الاعتيادية:
calc(7, 8, '+')،calc(9, 3, '/') - حالة حدية: يجب أن يطرح
calc(5, 0, '/')استثناءً - معامل غير صالح: يجب أن يطرح
calc(1, 2, '?')استثناءً
عرض توضيحي لآلة حاسبة
شغّله: يستدعي العرض التوضيحي calc مباشرةً باستخدام قيم نموذجية، ثم يطبع النتائج. لا يلزم إدخال من وحدة التحكم.
public class Main {
static double calc(double a, double b, char op) {
switch (op) {
case '+':
return a + b;
case '-':
return a - b;
case '*':
case 'x':
case 'X':
return a * b;
case '/':
if (b == 0) throw new IllegalArgumentException("Division by zero");
return a / b;
default:
throw new IllegalArgumentException("Unknown operator: " + op);
}
}
public static void main(String[] args) {
System.out.println("7 + 8 = " + calc(7, 8, '+'));
System.out.println("10 / 2 = " + calc(10, 2, '/'));
try {
System.out.println("10 / 0 = " + calc(10, 0, '/'));
} catch (IllegalArgumentException e) {
System.out.println("Error: " + e.getMessage());
}
System.out.println("6 * 3 = " + calc(6, 3, '*'));
System.out.println("6 x 3 = " + calc(6, 3, 'x'));
}
}
سياسة القسمة على صفر
تحقق سريع: ماذا يجب أن يحدث عند استدعاء calc(10, 0, '/' )؟
مراجعة والخطوة التالية
مراجعة: صممت API واضحة، ونفذت آلة حاسبة تعتمد على switch، وتحققت من القسمة على صفر، واختبرت الحل من دون أي إدخال من وحدة التحكم.
التالي: انتقل إلى الحلقات لإجراء العمليات المتكررة وتطبيق الأنماط.
الأسئلة الشائعة
هل درس «مشروع مصغّر: آلة حاسبة لوحدة التحكم» مجاني؟
نعم — نص درس «مشروع مصغّر: آلة حاسبة لوحدة التحكم» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.
ماذا ستتعلم في «مشروع مصغّر: آلة حاسبة لوحدة التحكم»؟
أنشئ دالة آلة حاسبة صغيرة باستخدام switch من دون إدخال من وحدة التحكم. عالج العمليات + و- و* و/، وتحقّق من القسمة على صفر، وصمّم اختبارات واضحة. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «مشروع مصغّر: آلة حاسبة لوحدة التحكم»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التعمّق في عوامل المقارنة والمنطق
- جمل Switch
- مشروع مصغّر: آلة حاسبة لوحدة التحكم