21xrx.com
2025-03-23 15:54:45 Sunday
文章检索 我的文章 写文章
Java实现简易计算器代码
2023-06-15 12:02:13 深夜i     --     --
Java 计算器 代码

计算器是我们生活中经常使用的工具,而通过Java代码实现一个简易计算器也是很有意思的一件事情。那么,该如何使用Java来实现一个简易计算器呢?

一、UI设计

Java的Swing是一种简单易用的图形界面开发工具,可以方便地实现计算器的显示界面。一个简易计算器主要包括显示器和按钮。拖拽展示出的组件就可以构建一个基本的计算器界面。

二、实现逻辑

计算器的基本逻辑是,用户点击数字按钮,输入数字,然后选择运算符,再输入另一个数字,最后计算结果。因此我们需要定义一个字符串变量用来存储用户输入,一个变量来存储当前操作符和一个变量来存储最近输入的数字。

接下来,我们需要使用Java的事件监听器来设置按钮的响应动作,捕获用户的点击事件。根据按钮所代表的数字或符号,进行相应的操作,最后将结果输出到显示器上。

三、完整代码

下面是一个简单的Java计算器代码:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calculator extends JFrame{
  JPanel panel = new JPanel(new GridLayout(4, 4));
  JTextField displayField = new JTextField("");
  double lastNumber = 0;
  String lastOperator = "";
  String display = "";
  public Calculator() {
    setTitle("Calculator");
    setSize(300, 300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());
    displayField.setEditable(false);
    contentPane.add(displayField, BorderLayout.NORTH);
    contentPane.add(panel, BorderLayout.CENTER);
    ActionListener lst = new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String cmd = e.getActionCommand();
        if (cmd.equals("+") || cmd.equals("-") || cmd.equals("*") || cmd.equals("/") || cmd.equals("=")) {
          calculate(Double.parseDouble(display));
          lastOperator = cmd;
          display = "";
        } else if (cmd.equals("C")) {
          display = "";
          displayField.setText(display);
        } else {
          display += cmd;
          displayField.setText(display);
        }
      }
      void calculate(double x) {
        if (lastOperator.equals("+")) {
          lastNumber += x;
        } else if (lastOperator.equals("-"))
          lastNumber -= x;
         else if (lastOperator.equals("*")) {
          lastNumber *= x;
        } else if (lastOperator.equals("/"))
          lastNumber /= x;
         else if (lastOperator.equals("="))
          lastNumber += x;
        
        displayField.setText("" + lastNumber);
      }
    };
    addButton("7", lst);
    addButton("8", lst);
    addButton("9", lst);
    addButton("/", lst);
    addButton("4", lst);
    addButton("5", lst);
    addButton("6", lst);
    addButton("*", lst);
    addButton("1", lst);
    addButton("2", lst);
    addButton("3", lst);
    addButton("-", lst);
    addButton(".", lst);
    addButton("0", lst);
    addButton("C", lst);
    addButton("+", lst);
    addButton("=", lst);
    setVisible(true);
  }
  private void addButton(String label, ActionListener lst) {
    JButton button = new JButton(label);
    button.addActionListener(lst);
    panel.add(button);
  }

四、关键词

Java、计算器、代码。

  
  

评论区