21xrx.com
2024-11-09 00:48:44 Saturday
登录
文章检索 我的文章 写文章
Java简易计算机课程设计-实现基本运算功能
2023-06-13 19:13:11 深夜i     --     --

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、四则运算。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复