21xrx.com
2025-03-29 11:47:37 Saturday
文章检索 我的文章 写文章
Java简易计算机课程设计-实现基本运算功能
2023-06-13 19:13:11 深夜i     7     0

Java作为一门高级编程语言,具有广泛的应用范围,比如可以用来开发桌面应用程序、移动设备应用程序、Web 应用程序等等。本文将介绍一种使用 Java 实现简易计算器的方法,这个计算器能够进行基本的四则运算,并且具有简洁易用的用户界面。

计算器主要界面由一个文本框和一排按钮构成,代码如下所示:

import java.awt.*;
import javax.swing.*;
public class CalculatorFrame extends JFrame {
  private JTextField display;  
  
  public CalculatorFrame() {
    super("Calculator");
    
    JPanel panel = new JPanel();
    
    display = new JTextField(18);
    display.setEditable(false);
    
    panel.add(display);
    
    String[] labels = {
      "7", "8", "9", "+",
      "4", "5", "6", "-",
      "1", "2", "3", "*",
      "0", ".", "=", "/"
    };
    
    JPanel buttonPanel = new JPanel(new GridLayout(4, 4));
    
    for (String label : labels) {
      JButton button = new JButton(label);
      button.addActionListener(new CalculatorActionListener(display));
      buttonPanel.add(button);
    }
    
    panel.add(buttonPanel);
    setContentPane(panel);
    pack();
  }
  
  public static void main(String[] args) {
    CalculatorFrame frame = new CalculatorFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
}

在上面的代码中,我们使用了 Java 的 Swing 组件来创建用户界面,并添加了一个文本框和一排按钮。这些按钮的标签文字包括数字和运算符,每个按钮都添加了一个 ActionListener,当用户点击按钮时,ActionListener 会调用对应的函数来实现计算器的功能。

现在我们来实现每个按钮的功能。我们先定义一个辅助类 Calculator,包含基本的四则运算逻辑代码:

public class Calculator {
  private double total = 0;
  private String operator = "";
  
  public void set(double x)
    total = x;
  
  
  public void add(double x) {
    total += x;
  }
  
  public void subtract(double x)
    total -= x;
  
  
  public void multiply(double x) {
    total *= x;
  }
  
  public void divide(double x) {
    if (x == 0) {
      throw new IllegalArgumentException("Divide by zero");
    }
    total /= x;
  }
  
  public double getTotal()
    return total;
  
  
  public void setOperator(String op)
    operator = op;
  
  
  public void reset()
    total = 0;
    operator = "";
  
  
  public void applyOperator(double x) {
    switch (operator) {
      case "+": add(x); break;
      case "-": subtract(x); break;
      case "*": multiply(x); break;
      case "/": divide(x); break;
      default: set(x); break;
    }
  }
}

上面的代码中,我们定义了一个 Calculator 类,包含了五个基本的计算方法:加、减、乘、除和设置操作数。此外,Calculator 还包含一个 setOperator 方法设置当前的运算符,reset 方法重新设置计算器,applyOperator 方法应用当前的操作符。

然后,我们再来看 CalculatorActionListener 类的实现,这个类实现了 ActionListener 接口,当用户点击按钮时,会执行按钮的对应动作:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CalculatorActionListener implements ActionListener {
  private JTextField display;
  private Calculator calc;
  
  public CalculatorActionListener(JTextField display) {
    this.display = display;
    calc = new Calculator();
  }
  public void actionPerformed(ActionEvent event) {
    String label = event.getActionCommand();
    try {
      double value = Double.parseDouble(label);
      display.setText(display.getText() + label);
      calc.applyOperator(value);
    } catch (NumberFormatException e) {
      if (label.equals(".")) {
        display.setText(display.getText() + ".");
      } else if (label.equals("=")) {
        calc.applyOperator(Double.parseDouble(display.getText()));
        display.setText(Double.toString(calc.getTotal()));
        calc.reset();
      } else {
        calc.setOperator(label);
        calc.set(Double.parseDouble(display.getText()));
        display.setText("");
      }
    }
  }
}

在上面的代码中,我们实现了 ActionListener 接口,并重写了 actionPerformed 方法。当用户点击数字按钮时,我们将数字添加到文本框中,并调用 Calculator 的 applyOperator 方法;当用户点击操作符按钮时,我们设置当前的操作符并将当前的操作数保存到 Calculator 对象中,并清空文本框;当用户点击等于按钮时,我们获取文本框中的数字,并调用 Calculator 的 applyOperator 方法,最后将结果显示到文本框中,并重新设置 Calculator 对象。

本篇文章介绍了使用 Java 实现简易计算器的方法,并提供了完整的代码实现。这个计算器可以进行基本的四则运算,并具有简洁易用的用户界面。本文所涉及的关键词有:Java、计算器、Swing、ActionListener、四则运算。

  
  

评论区

请求出错了