الفكرة ببساطة
الحاسبة تطبيق على switch. نأخذ عددين x وy، ثم رقم اختيار menu ليحدد العملية التي سننفّذها.
Switch Calculator
الحاسبة تطبيق على switch. نأخذ عددين x وy، ثم رقم اختيار menu ليحدد العملية التي سننفّذها.
القيمة 1 تختار الجمع x + y، و2 الطرح x - y، و3 الضرب x * y، و4 القسمة x / y. ندخل case المناسبة، نحسب الناتج، ثم نخرج عند break.
العددان من النوع int، ولذلك القسمة هنا Integer Division. مثلًا 7 / 2 تعطي 3، لا 3.5. يُحذف الجزء الكسري باتجاه الصفر؛ لذلك -7 / 2 تعطي -3.
قسمة int على صفر تسبب ArithmeticException. أضفنا فحصًا يطبع Cannot divide by zero، وأضفنا default للاختيار غير المدعوم. هاتان إضافتان تعليميتان على مثال الشريحة، وصححنا أيضًا علامات الاقتباس لتكون Java صالحة.
int x = 7;
int y = 2;
int menu = 4;
switch (menu) {
case 1: System.out.println(x + y); break;
case 2: System.out.println(x - y); break;
case 3: System.out.println(x * y); break;
case 4:
if (y != 0) {
System.out.println(x / y);
} else {
System.out.println("Cannot divide by zero");
}
break;
default: System.out.println("Invalid menu");
}x = 7 وy = 2 وmenu = 4.case 4 لأنها تمثل القسمة.y != 0؛ النتيجة true، فنحسب 7 / 2 باستخدام int، ويكون الناتج 3.break. المحاكاة تستخدم أعدادًا صغيرة حتى نركّز على الاختيار والقسمة دون حالات overflow.اختيار القسمة لا يحوّل القيم تلقائيًا إلى أعداد عشرية. إذا كانت القيمتان int فالناتج قسمة صحيحة، ويجب الانتباه إلى المقسوم عليه عندما يساوي صفرًا.
غيّر x وy ورقم menu داخل الكود. جرّب القسمة عند 7 و2، ثم اجعل y تساوي صفرًا.
محاكاة لهذا المثال المحدد، وليست تشغيلًا لكود Java عشوائي.