21xrx.com
2024-12-23 04:02:37 Monday
登录
文章检索 我的文章 写文章
Java编写简易计算器——实现基本计算功能
2023-06-11 13:47:55 深夜i     --     --

使用Java编写一个简单的计算器可以帮助我们巩固Java基础语法,更好地理解面向对象编程的思想,并且加深对GUI编程的了解。这个简易计算器具有基本算术操作,包括加、减、乘、除、求幂和开方。接下来,我们将为您详细介绍Java简易计算机代码大全。

Java简易计算器:代码实现

Java可以轻松地实现一个简易计算器,其框架和整个运行过程都是非常简单的。为了实现其基本功能,需要使用swing组件和事件处理程序。以下是整个简易计算器的代码:


import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import static java.lang.Math.pow;

import static java.lang.Math.sqrt;

//创建计算器类

public class Calculator extends JFrame implements ActionListener {

  private JPanel panel;

  private JTextField display;

  private double num1, num2;

  private String operator;

  //添加构造函数和界面的初始化方法

  public Calculator() {

    super("简易计算器");

    display = new JTextField("0", 20);

    display.setEditable(false);

    panel = new JPanel();

    panel.setLayout(new GridLayout(4, 4, 5, 5));

    addButton("7");

    addButton("8");

    addButton("9");

    addButton("/");

    addButton("4");

    addButton("5");

    addButton("6");

    addButton("*");

    addButton("1");

    addButton("2");

    addButton("3");

    addButton("-");

    addButton("0");

    addButton(".");

    addButton("=");

    addButton("+");

    getContentPane().add(display, BorderLayout.NORTH);

    getContentPane().add(panel, BorderLayout.CENTER);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    pack();

    setVisible(true);

  }

  private void addButton(String label) {

    JButton button = new JButton(label);

    button.addActionListener(this);

    panel.add(button);

  }

  //实现基本算术运算

  private double calculate(double x, String op, double y) {

    if (op.equals("+")) {

      return x + y;

    } else if (op.equals("-"))

      return x - y;

     else if (op.equals("*")) {

      return x * y;

    } else if (op.equals("/"))

      return x / y;

     else if (op.equals("pow")) {

      return pow(x, y);

    } else {

      return sqrt(x);

    }

  }

  //处理事件

  public void actionPerformed(ActionEvent event) {

    String str = event.getActionCommand();

    if ("0123456789.".indexOf(str) >= 0) {

      if (operator == null) {

        if (str.equals(".")) {

          if (display.getText().indexOf(".") < 0) {

            display.setText(display.getText() + ".");

          }

        } else {

          display.setText(str);

        }

      } else {

        if (str.equals(".")) {

          if (display.getText().indexOf(".") < 0) {

            display.setText(display.getText() + ".");

          }

        } else {

          display.setText(display.getText() + str);

        }

      }

    } else if (str.equals("C")) {

      display.setText("0");

      operator = null;

    } else if (str.equals("=")) {

      num2 = Double.parseDouble(display.getText());

      double result = calculate(num1, operator, num2);

      display.setText(("" + result));

      operator = null;

    } else {

      if (operator == null) {

        num1 = Double.parseDouble(display.getText());

        operator = str;

      } else {

        num2 = Double.parseDouble(display.getText());

        double result = calculate(num1, operator, num2);

        display.setText(("" + result));

        num1 = result;

        operator = str;

      }

    }

  }

  //主函数

  public static void main(String[] args) {

    Calculator calc = new Calculator();

  }

}

Java简易计算器:关键词

1. Java

2. 简易计算器

3. GUI编程

  
  

评论区

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