ক্যালকুলেটর অ্যাপ তৈরি

প্র্যাকটিস প্রোজেক্টস - জাভা প্রোগ্রামিং (Java Programming) - Computer Programming

374

নিচে একটি সাধারণ ক্যালকুলেটর অ্যাপ তৈরি করা হয়েছে, যেখানে Java Swing ব্যবহার করে UI তৈরি করা হয়েছে। এই ক্যালকুলেটর অ্যাপে সাধারণ যোগ, বিয়োগ, গুণ এবং ভাগ অপারেশন করা যাবে।


১. ক্যালকুলেটর ক্লাস তৈরি করা

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Calculator extends JFrame implements ActionListener {
    private JTextField display;
    private double num1 = 0, num2 = 0, result = 0;
    private char operator;

    public Calculator() {
        setTitle("Calculator");
        setSize(400, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new BorderLayout());

        // Display Field
        display = new JTextField();
        display.setFont(new Font("Arial", Font.BOLD, 24));
        display.setEditable(false);
        add(display, BorderLayout.NORTH);

        // Button Panel
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new GridLayout(4, 4, 10, 10));

        // Button Text Array
        String[] buttons = {
            "7", "8", "9", "/",
            "4", "5", "6", "*",
            "1", "2", "3", "-",
            "0", ".", "=", "+"
        };

        // Adding Buttons to Panel
        for (String text : buttons) {
            JButton button = new JButton(text);
            button.setFont(new Font("Arial", Font.BOLD, 24));
            button.addActionListener(this);
            buttonPanel.add(button);
        }

        add(buttonPanel, BorderLayout.CENTER);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        String command = e.getActionCommand();

        // যদি সংখ্যার বোতাম টিপা হয়
        if (command.charAt(0) >= '0' && command.charAt(0) <= '9' || command.equals(".")) {
            display.setText(display.getText() + command);
        }
        // যদি অপারেটর বোতাম টিপা হয়
        else if (command.equals("+") || command.equals("-") || command.equals("*") || command.equals("/")) {
            num1 = Double.parseDouble(display.getText());
            operator = command.charAt(0);
            display.setText("");
        }
        // যদি "=" বোতাম টিপা হয়
        else if (command.equals("=")) {
            num2 = Double.parseDouble(display.getText());
            switch (operator) {
                case '+':
                    result = num1 + num2;
                    break;
                case '-':
                    result = num1 - num2;
                    break;
                case '*':
                    result = num1 * num2;
                    break;
                case '/':
                    result = num2 != 0 ? num1 / num2 : 0;
                    break;
            }
            display.setText(String.valueOf(result));
            num1 = result;
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            Calculator calculator = new Calculator();
            calculator.setVisible(true);
        });
    }
}

কোড ব্যাখ্যা

JFrame সেটআপ:

  • Calculator ক্লাসটি JFrame এক্সটেন্ড করেছে, যা মেইন UI উইন্ডো তৈরি করতে সাহায্য করে।
  • setTitle("Calculator") দিয়ে উইন্ডোর টাইটেল সেট করা হয়েছে এবং setSize(400, 500) দিয়ে আকার নির্ধারণ করা হয়েছে।

ডিসপ্লে ফিল্ড:

  • display নামে একটি JTextField তৈরি করা হয়েছে, যা ক্যালকুলেটরের আউটপুট দেখায়। এটি setEditable(false) দিয়ে কেবল রিড-অনলি করা হয়েছে।

বাটন প্যানেল:

  • একটি JPanel তৈরি করে সেটিকে GridLayout দিয়ে ৪x৪ গ্রিডে সাজানো হয়েছে, যেখানে ক্যালকুলেটরের সংখ্যা এবং অপারেটর বাটনগুলো রাখা হয়েছে।
  • বাটনের টেক্সট String[] buttons অ্যারে থেকে নেওয়া হয়েছে এবং লুপের মাধ্যমে বাটন তৈরি করা হয়েছে।

ইভেন্ট হ্যান্ডলিং:

  • actionPerformed(ActionEvent e) মেথডে ইভেন্ট হ্যান্ডল করা হয়েছে। যখন কোনো বাটন টিপা হয়, তখন তার অ্যাকশন কমান্ড command ভ্যারিয়েবলে সংরক্ষণ করা হয়।
  • if (command.charAt(0) >= '0' && command.charAt(0) <= '9' || command.equals(".")) শর্ত দিয়ে চেক করা হয়েছে যে, বাটনটি সংখ্যা কিনা।
  • অপারেটরের জন্য operator ভ্যারিয়েবলে সেট করা হয়েছে এবং ডিসপ্লে খালি করা হয়েছে।
  • = বোতামে switch স্টেটমেন্টের মাধ্যমে সঠিক অপারেশন করা হয়েছে এবং display.setText(String.valueOf(result)) দিয়ে আউটপুট দেখানো হয়েছে।

main মেথড:

  • main মেথডে Calculator ক্লাসের একটি ইনস্ট্যান্স তৈরি করা হয়েছে এবং সেটি দৃশ্যমান করা হয়েছে।

এই ক্যালকুলেটর অ্যাপের বৈশিষ্ট্য

  • সংখ্যা ইনপুট: সংখ্যা ইনপুট দেওয়া যায়।
  • অপারেটর: যোগ, বিয়োগ, গুণ এবং ভাগ অপারেটরের সাপোর্ট।
  • রেজাল্ট: সমান বোতাম টিপে রেজাল্ট দেখা যায়।
  • ডিসপ্লে রিসেট: প্রতিটি অপারেটরের পর ডিসপ্লে রিসেট হয় এবং নতুন সংখ্যা ইনপুট নেয়া যায়।

এই কোডটি চালানোর পর একটি সাধারণ ক্যালকুলেটর অ্যাপ তৈরি হবে, যা সংখ্যানুপাতে ব্যবহারযোগ্য এবং UI ডিজাইনসহ যুক্ত থাকবে।

Content added By
Promotion

Are you sure to start over?

Loading...