21xrx.com
2024-12-22 22:33:29 Sunday
登录
文章检索 我的文章 写文章
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实现,并介绍了相关的操作步骤。该程序提供了基本的加减乘除计算功能,可在实际项目开发和学习中方便快捷地使用。

  
  

评论区

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