برنامه نویسی 2552 بازدید

در این مقاله یک ماشین حساب ساده در جاوا طراحی می‌کنیم که عملیاتی مانند جمع، تفریق، ضرب و تقسیم را اجرا می‌کند. بدین ترتیب عملگرها و عملوندها را به عنوان ورودی از کاربر می‌گیریم و محاسبه‌ها را بر مبنای آن‌ها اجرا می‌کنیم.

تنظیمات مقدماتی

ابتدا برخی اطلاعات مقدماتی در مورد ماشین حساب نمایش می‌دهیم:

	
System.out.println("---------------------------------- \n" +
  "Welcome to Basic Calculator \n" +
  "----------------------------------");
System.out.println("Following operations are supported : \n" +
  "1. Addition (+) \n" +
  "2. Subtraction (-) \n" +
  "3. Multiplication (*) \n" +
  "4. Division (/) \n");

سپس از java.util.Scanner برای گرفتن ورودی‌های کاربر استفاده می‌کنیم:

Scanner scanner = new Scanner(System.in);
 
System.out.println("Enter an operator: (+ OR - OR * OR /) ");
char operation = scanner.next().charAt(0);
 
System.out.println("Enter the first number: ");
double num1 = scanner.nextDouble();
 
System.out.println("Enter the second number: ");
double num2 = scanner.nextDouble();

زمانی که ورودی‌ها را به سیستم می‌دهیم، ابتدا باید آن‌ها را اعتبارسنجی کنیم. برای نمونه اگر عملگر واردشده یکی از موارد +، -، × یا / نباشد، ماشین حساب ما عبارت ورودی نامناسب را نمایش می‌دهد. به طور مشابه اگر عدد دوم را برای تقسیم به مقدار 0 وارد کنیم، نتیجه مناسبی به دست نخواهد آمد. بنابراین اعتبارسنجی‌ها را پیاده‌سازی می‌کنیم. ابتدا روی موقعیتی که عملگر نامعتبر است، تمرکز می‌کنیم:

if (!(operation == '+' || operation == '-' || operation == '*' || operation == '/')) {
    System.err.println("Invalid Operator. Please use only + or - or * or /");
}

سپس می‌توانیم خطاها را برای عملیات نامعتبر نمایش دهیم:

if (operation == '/' && num2 == 0.0) {
    System.err.println("The second number cannot be zero for division operation.");
}

ورودی کاربر ابتدا اعتبارسنجی می‌شود. سپس نتیجه محاسبه به صورت زیر نمایش می‌یابد:

<number1> <operation> <number2> = <result>

پردازش محاسبات

در وهله اول می‌توانیم از ساختار if-else برای پردازش محاسبات بهره بگیریم:

if (operation == '+') {
    System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
} else if (operation == '-') {
    System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
} else if (operation == '*') {
    System.out.println(num1 + " x " + num2 + " = " + (num1 * num2));
} else if (operation == '/') {
    System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));
} else {
    System.err.println("Invalid Operator Specified.");
}

به طور مشابه می‌توانیم از یک گزاره switch جاوا استفاده کنیم:

switch (operation) {
    case '+':
        System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
        break;
    case '-':
        System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
        break;
    case '*':
        System.out.println(num1 + " x " + num2 + " = " + (num1 * num2));
        break;
    case '/':
        System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));
        break;
    default:
        System.err.println("Invalid Operator Specified.");
        break;
}

می‌توانیم از یک متغیر برای ذخیره‌سازی نتیجه محاسبات استفاده کنیم. در نتیجه می‌توانیم آن را در انتها نمایش دهیم. در این حالت تنها یک بار از System.out.println استفاده می‌کنیم. ضمناً بیشینه بازه برای محاسبه 2147483647 است. در نتیجه اگر از این مقدار تجاوز کنیم، نوع داده int سرریز (overflow) می‌کند. بدین جهت باید متغیر را در نوع داده بزرگ‌تری برای نمونه در نوع double ذخیره کنیم.

سخن پایانی

در این راهنما با استفاده از دو ساختمان متفاوت، یک ماشین حساب ساده جاوا پیاده‌سازی کردیم. همچنین مطمئن شدیم که ورودی‌ها پیش از اجرای پردازش‌ها و محاسبات اعتبار سنجی می‌شوند. کد نهایی این ماشین حساب را می‌توانید در این ریپوی گیت‌هاب (+) ملاحظه کنید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای 5 نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

«میثم لطفی» در رشته‌های ریاضیات کاربردی و مهندسی کامپیوتر به تحصیل پرداخته و شیفته فناوری است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار با مجله فرادرس همکاری دارد.

یک نظر ثبت شده در “ساخت یک ماشین حساب ساده در جاوا — از صفر تا صد

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *