21xrx.com
2025-03-27 14:09:01 Thursday
文章检索 我的文章 写文章
Java实现简易计算器:代码分享
2023-06-19 16:33:58 深夜i     --     --
Java 计算器 Swing

Java作为广泛应用于开发的编程语言之一,其强大的计算能力得到了众多开发者的青睐。在实际开发中,编写一个简易计算器程序是相当常见的需求。在本文中,我们将介绍如何使用Java编写一个简单的计算器程序,方便您在日常开发和学习中使用。

代码实现

我们采用Java Swing的GUI框架实现本篇操作步骤,以下为操作步骤。

1.创建一个Java项目并新建Java类

2.导入Swing类库

可以从以下链接下载Swing库:

https://docs.oracle.com/javase/7/docs/api/javax/swing/package-summary.html

3.编写代码

代码如下:

import java.awt.Font;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator extends JFrame{
  private static final long serialVersionUID = 3149321540214862916L;
  JTextField resultField = new JTextField("0");
  boolean numberFlag = true;
  boolean pointFlag = true;
  int choosed = 0;
  double lastDigit = 0;
  public static void main(String[] args) {
    new Calculator();
  }
  public Calculator() {
    super("Calculator");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setResizable(false);
    JPanel panel = new JPanel(new GridLayout(4, 4));
    panel.setFont(new Font("微软雅黑", Font.BOLD, 20));
    initializeUIButton(panel);
    add(panel);
    pack();
    setLocationRelativeTo(null);
    setVisible(true);}
  // 初始化按钮
  public void initializeUIButton(JPanel panel){
    String[] buttons = {"7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "+", "="};
    for (int i = 0; i <= 15; i++) {
      JButton btn = new JButton(buttons[i]);
      btn.setFont(new Font("微软雅黑", Font.BOLD, 25));
      panel.add(btn);
      btn.addActionListener(e -> {
        inputHandle(buttons[i]);
      });
    }
  }
  // 输入事件处理
  public void inputHandle(String input){
    if(input.equals(".")){// 处理小数点
      if (pointFlag) {
        resultField.setText(resultField.getText().concat("."));
        pointFlag = false;
        numberFlag = true;
      }
    } else if ("0123456789".contains(input)){// 处理数字
      if(numberFlag){
        resultField.setText(resultField.getText().equals("0") ? input : resultField.getText().concat(input));
      } else {
        resultField.setText(input);
        numberFlag = true;
      }
    } else if ("/*-+".contains(input)){// 处理运算符
      choosedFun(Integer.parseInt(resultField.getText()));
      lastDigit = Double.parseDouble(resultField.getText());
      choosed = "/".equals(input) ? 1 : ("*".equals(input) ? 2 : ("+".equals(input) ? 3 : 4));
      numberFlag = false;
      pointFlag = true;
    } else {
      switch (choosed) {// 进行计算
        case 1:
          lastDigit /= Double.parseDouble(resultField.getText());
          break;
        case 2:
          lastDigit *= Double.parseDouble(resultField.getText());
          break;
        case 3:
          lastDigit += Double.parseDouble(resultField.getText());
          break;
        case 4:
          lastDigit -= Double.parseDouble(resultField.getText());
          break;
      }
      pointFlag = true;
      numberFlag = false;
      resultField.setText(String.valueOf(lastDigit));
    }
  }
}

总结

在本文中,我们成功完成了一个简易计算器程序的Java实现,并介绍了相关的操作步骤。该程序提供了基本的加减乘除计算功能,可在实际项目开发和学习中方便快捷地使用。

  
  

评论区