21xrx.com
2024-12-22 20:17:17 Sunday
登录
文章检索 我的文章 写文章
Java实现一个简单计算器——带代码案例
2023-06-18 00:49:32 深夜i     --     --
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界面设计。

  
  

评论区

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