21xrx.com
2025-03-27 11:34:13 Thursday
文章检索 我的文章 写文章
Java实现一个简单计算器——带代码案例
2023-06-18 00:49:32 深夜i     14     0
Java 编程

计算器是人们日常生活和工作中必不可少的工具,而计算机上的计算器也随处可见。如果我们想要编写一个简单的计算器应该如何实现呢?今天我们就来介绍一下使用Java语言编写一个简单的计算器。

首先我们需要创建一个Java项目,命名为”Calculator”。然后我们需要创建一个窗体,并在窗体中放置各种控件组件。其中,我们需要使用文本框来显示输入和输出结果,同时我们还需要添加按钮组件,来完成各种数学运算。

下面是实现过程中需要的代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator extends JFrame implements ActionListener {
  private JTextField textField;
  private double number1, number2, result;
  private int operator;
  public Calculator() {
    setTitle("简单计算器");
    // 设置窗体大小和位置
    setSize(300, 400);
    setLocationRelativeTo(null);
    // 禁止调整窗口大小
    setResizable(false);
    // 初始化组件
    initComponents();
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  private void initComponents() {
    // 设置布局为网格式布局
    setLayout(new GridLayout(5, 4, 5, 5));
    // 创建文本框组件
    textField = new JTextField("0", 20);
    // 设置文本框只读
    textField.setEditable(false);
    // 添加文本框到窗体中
    add(textField);
    // 创建按钮
    JButton button1 = new JButton("1");
    JButton button2 = new JButton("2");
    JButton button3 = new JButton("3");
    JButton button4 = new JButton("+");
    JButton button5 = new JButton("4");
    JButton button6 = new JButton("5");
    JButton button7 = new JButton("6");
    JButton button8 = new JButton("-");
    JButton button9 = new JButton("7");
    JButton button10 = new JButton("8");
    JButton button11 = new JButton("9");
    JButton button12 = new JButton("×");
    JButton button13 = new JButton(".");
    JButton button14 = new JButton("0");
    JButton button15 = new JButton("=");
    JButton button16 = new JButton("÷");
    JButton button17 = new JButton("AC");
    JButton button18 = new JButton("←");
    // 将按钮添加到窗体中
    add(button1);
    add(button2);
    add(button3);
    add(button4);
    add(button5);
    add(button6);
    add(button7);
    add(button8);
    add(button9);
    add(button10);
    add(button11);
    add(button12);
    add(button13);
    add(button14);
    add(button15);
    add(button16);
    add(button17);
    add(button18);
    // 添加按钮的监听事件
    button1.addActionListener(this);
    button2.addActionListener(this);
    button3.addActionListener(this);
    button4.addActionListener(this);
    button5.addActionListener(this);
    button6.addActionListener(this);
    button7.addActionListener(this);
    button8.addActionListener(this);
    button9.addActionListener(this);
    button10.addActionListener(this);
    button11.addActionListener(this);
    button12.addActionListener(this);
    button13.addActionListener(this);
    button14.addActionListener(this);
    button15.addActionListener(this);
    button16.addActionListener(this);
    button17.addActionListener(this);
    button18.addActionListener(this);
  }
  @Override
  public void actionPerformed(ActionEvent e) {
    String str = e.getActionCommand();
    if (str.equals("AC")) {
      // 清空文本框的内容
      textField.setText("0");
      number1 = 0;
      number2 = 0;
      result = 0;
      operator = 0;
    } else if (str.equals("←")) {
      // 删除文本框的最后一个字符
      String text = textField.getText();
      if (text.equals(""))
        return;
      
      text = text.substring(0, text.length() - 1);
      if (text.equals(""))
        text = "0";
      
      textField.setText(text);
    } else if (str.equals(".")) {
      // 判断是否已经包含小数点
      String text = textField.getText();
      if (text.indexOf(".") != -1)
        return;
      
      textField.setText(text + ".");
    } else if (str.equals("+")) {
      number1 = Double.parseDouble(textField.getText());
      operator = 1;
      textField.setText("");
    } else if (str.equals("-")) {
      number1 = Double.parseDouble(textField.getText());
      operator = 2;
      textField.setText("");
    } else if (str.equals("×")) {
      number1 = Double.parseDouble(textField.getText());
      operator = 3;
      textField.setText("");
    } else if (str.equals("÷")) {
      number1 = Double.parseDouble(textField.getText());
      operator = 4;
      textField.setText("");
    } else if (str.equals("=")) {
      number2 = Double.parseDouble(textField.getText());
      switch (operator) {
        case 1:
          result = number1 + number2;
          break;
        case 2:
          result = number1 - number2;
          break;
        case 3:
          result = number1 * number2;
          break;
        case 4:
          result = number1 / number2;
          break;
      }
      textField.setText(String.valueOf(result));
    } else {
      String text = textField.getText();
      if (text.equals("0"))
        text = str;
       else {
        text += str;
      }
      textField.setText(text);
    }
  }
  public static void main(String[] args) {
    new Calculator();
  }
}

上面的代码实现了一个最基本的计算器功能。我们可以在界面上自由地输入数字和进行加减乘除等计算操作,最终得出计算结果。通过实现这个小项目,我们了解了如何使用Java语言创建一个简单的计算器。

、计算器、GUI界面设计。

  
  

评论区