21xrx.com
2025-03-24 04:39:04 Monday
文章检索 我的文章 写文章
Java初学者项目:简易计算器实现
2023-06-15 15:00:49 深夜i     --     --
Java初学者 GUI OOP编程

Java是一种高级编程语言,适用于任何类型的开发,从Web应用程序到桌面应用程序,甚至嵌入式系统。对于正在学习Java的初学者来说,一个好的项目可以帮助他们巩固所学知识,加强实践能力。

在本文中,我们将介绍一个简单的Java项目——简易计算器的实现。通过这个项目,您将学习如何使用Java语言来创建GUI应用程序,并利用Java的OOP特性来实现计算器的基本功能。

我们使用面向对象的编程思想来实现这个计算器。我们首先创建一个Calculator类,该类代表整个计算器:

import javax.swing.*;
public class Calculator {
    private JFrame frame;
    private JTextField textField;
    private JButton[] buttons;
    private JPanel panel;
    private String[] buttonLabels = {"7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "0", ".", "=", "/"};
    private String currentInput = "";
    private String currentOperator = "";
    private double currentValue = 0.0;
    private boolean resetInput = false;
    public void createGUI() {
        frame = new JFrame("Calculator");
        panel = new JPanel();
        textField = new JTextField(14);
        textField.setHorizontalAlignment(JTextField.RIGHT);
        buttons = new JButton[buttonLabels.length];
 
        for (int i = 0; i < buttonLabels.length; i++) {
            buttons[i] = new JButton(buttonLabels[i]);
            buttons[i].addActionListener(new ButtonListener());
            panel.add(buttons[i]);
        }
 
        panel.add(textField);
        frame.add(panel);
        frame.pack();
        frame.setVisible(true);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        Calculator calculator = new Calculator();
        calculator.createGUI();
    }
}

这里我们定义了一个Calculator类并为其实现了一个createGUI()方法,该方法创建了一个计算器的GUI。GUI由一个JFrame,一个JTextField和各种JButton组成。利用addActionListener()方法为每个按钮添加了一个监听器,以便在用户单击按钮时执行相应的操作。

在上面的代码中,我们还定义了一些成员变量。currentInput、currentOperator和currentValue用于跟踪用户的输入和计算器的当前状态。resetInput变量用于帮助我们处理连续运算。

我们还实现了一个ButtonListener类,该类实现了ActionListener接口,以便在按钮被单击时执行相应操作:

private class ButtonListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            String command = e.getActionCommand();
 
            if ((command.charAt(0) >= '0' && command.charAt(0) <= '9') || command.equals(".")) {
                handleNumber(command);
            } else {
                handleOperator(command);
            }
        }
    }

handleNumber()和handleOperator()方法分别处理数字输入和运算符输入。这两个方法将调用Calculator类中的其他方法来完成其工作。

本项目中的完整代码可以在GitHub上找到:https://github.com/yangchong211/YC-Knowledge-Java。

通过这个简单的Java项目,您可以学到很多东西。您将掌握Java Swing编程,学习Java OOP编程,并加强您的Java编程能力。现在就开始编写您自己的简单计算器,并享受学习Java编程的乐趣吧!

  
  

评论区