پروژه: ماشینحساب
پروژه عملی: ماشینحساب کامل با متدها، switch و مدیریت خطا.
پروژه ۱: ماشینحساب
در این پروژه همه آموختهها را کنار هم میگذاریم: متدها، switch، مدیریت خطا و قالببندی خروجی.
نیازمندیها
- چهار عمل اصلی + توان + باقیمانده
- مدیریت خطای تقسیم بر صفر
- متد calculate با الگوی تمیز
- تاریخچه محاسبات
طراحی
static double calculate(double a, String op, double b)
مثال:
calculate(10, "+", 5) ← 15.0
calculate(10, "/", 0) ← خطا!
پیادهسازی گامبهگام
گام ۱: متد اصلی با switch
static double calculate(double a, String op, double b) {
switch (op) {
case "+": return a + b;
case "-": return a - b;
case "*": return a * b;
case "/":
if (b == 0) {
throw new IllegalArgumentException("تقسیم بر صفر!");
}
return a / b;
case "%": return a % b;
case "^": return Math.pow(a, b);
default:
throw new IllegalArgumentException("عملگر ناشناخته: " + op);
}
}
گام ۲: اجرای مجموعه محاسبات
String[][] calculations = {
{"10", "+", "5"},
{"10", "-", "3"},
{"6", "*", "7"},
{"10", "/", "4"},
{"2", "^", "10"},
{"10", "/", "0"}, ← خطا
};
for (String[] calc : calculations) {
double a = Double.parseDouble(calc[0]);
String op = calc[1];
double b = Double.parseDouble(calc[2]);
System.out.println(a + " " + op + " " + b + " = " + calculate(a, op, b));
}
نکات آموزشی
- switch روی String: مسیرهای عملگر تمیز تفکیک شد
- مدیریت خطا: تقسیم بر صفر و عملگر نامعتبر
- Math.pow: توان از کتابخانه استاندارد
- Double.parseDouble: تبدیل رشته به عدد اعشاری
پیشنهاد توسعه: عملگرهای بیشتر (جذر، لگاریتم)، ورودی تعاملی با Scanner، تاریخچه با ArrayList!
این مبحث بخشی از دوره آموزش کامل جاوا است.