java写一个计算器窗口(Java写计算器)

Java计算器窗口概述

Java是一种跨平台的编程语言,广泛应用于各个领域,例如桌面应用程序的开发。在这里,我们将介绍如何使用Java编写一个简单的计算器窗口,并实现基本的运算功能。

计算器窗口的设计和实现

Java Swing提供了丰富的GUI组件,我们可以轻松地通过它们创建窗口和各种控件。创建一个简单的计算器窗口,我们需要使用JFrame类和一些按钮。可以将JButton组件用于数字和运算符,用于显示计算结果的JTextField组件,以及用于处理计算的ActionListener接口。使用这些组件,我们可以很容易地创建计算器窗口,并提供一些基本的算术运算功能。

计算器窗口的实现代码

下面是一个简单的Java计算器窗口的实现代码:

java写一个计算器窗口(Java写计算器)

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Calculator {

    private JFrame frame;
    private JTextField textfield;

    private String operator = "";
    private String number1 = "";
    private String number2 = "";

    public Calculator() {
        frame = new JFrame("Calculator");
        frame.setLayout(new BorderLayout());

        textfield = new JTextField();
        textfield.setEditable(false);
        frame.add(textfield, BorderLayout.NORTH);

        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new BorderLayout());
        frame.add(buttonPanel, BorderLayout.CENTER);

        JPanel numberPanel = new JPanel();
        numberPanel.setLayout(new BorderLayout());
        buttonPanel.add(numberPanel, BorderLayout.CENTER);

        JButton[] numberButton = new JButton[10];
        for (int i = 0; i < 10; i++) {
            numberButton[i] = new JButton(String.valueOf(i));
            numberPanel.add(numberButton[i], BorderLayout.CENTER);
            numberButton[i].addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    String input = textfield.getText() + e.getActionCommand();
                    textfield.setText(input);
                }
            });
        }

        JPanel operatorPanel = new JPanel();
        operatorPanel.setLayout(new BorderLayout());
        buttonPanel.add(operatorPanel, BorderLayout.EAST);

        JButton[] operatorButton = new JButton[5];
        operatorButton[0] = new JButton("+");
        operatorButton[1] = new JButton("-");
        operatorButton[2] = new JButton("*");
        operatorButton[3] = new JButton("/");
        operatorButton[4] = new JButton("=");

        for (int i = 0; i < 5; i++) {
            operatorPanel.add(operatorButton[i], BorderLayout.CENTER);
        }

        operatorButton[0].addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                number1 = textfield.getText();
                operator = "+";
                textfield.setText("");
            }
        });

        operatorButton[1].addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                number1 = textfield.getText();
                operator = "-";
                textfield.setText("");
            }
        });

        operatorButton[2].addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                number1 = textfield.getText();
                operator = "*";
                textfield.setText("");
            }
        });

        operatorButton[3].addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                number1 = textfield.getText();
                operator = "/";
                textfield.setText("");
            }
        });

        operatorButton[4].addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                number2 = textfield.getText();

                double result = 0.0;

                switch (operator) {
                case "+":
                    result = Double.parseDouble(number1) + Double.parseDouble(number2);
                    break;

                case "-":
                    result = Double.parseDouble(number1) - Double.parseDouble(number2);
                    break;

                case "*":
                    result = Double.parseDouble(number1) * Double.parseDouble(number2);
                    break;

                case "/":
                    result = Double.parseDouble(number1) / Double.parseDouble(number2);
                    break;
                }

                textfield.setText(String.valueOf(result));
                operator = "";
                number1 = "";
                number2 = "";
            }
        });

        frame.setVisible(true);
        frame.setSize(300, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        Calculator calc = new Calculator();
    }

}

使用此代码,我们可以轻松地创建一个简单的Java计算器窗口,并完成基本的加法、减法、乘法和除法运算。你也可以使用此范例创建自己的计算器应用程序,并尝试添加更多功能,例如求幂、求中值、求逆运算等。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/java43-2.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月24日 下午6:19
下一篇 2023年4月24日 下午6:19

猜你喜欢