iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用java代码实现计算器
  • 199
分享到

如何使用java代码实现计算器

2023-06-30 18:06:28 199人浏览 泡泡鱼
摘要

这篇“如何使用java代码实现计算器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用java代码实现计算器”文章吧。运

这篇“如何使用java代码实现计算器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用java代码实现计算器”文章吧。

运行环境:win10 Eclipse IDE for Java Developers - 2020-06

下面是计算器的视图:

如何使用java代码实现计算器

如何使用java代码实现计算器

import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class CaculatorTest implements ActionListener {    // 初始框架搭建    JFrame frame = new JFrame("计算器");    JTextField area = new JTextField("0");    JPanel panel1 = new JPanel();    JPanel panel2 = new JPanel();    JButton[] buttons = new JButton[20];    String[] buttonsText = { "sqrt", "退格", "C", "/", "7", "8", "9", "*", "4", "5", "6", "-", "1", "2", "3", "+", "0",            ".", "+/-", "=" };    boolean point = false; // 用于判断是否输入多位小数点    boolean key = true; // 做完运算("=")后继续输入数字    String sign = " "; // 用于判断和记录运算符号    double temp = 0; // 多次连续运算时,值的寄存处    public CaculatorTest() {        initMenu();        initText();        initExtend();        initFrame();        initBorderLayout();    }    // 初始化菜单    private void initMenu() {        JMenuBar mb = new JMenuBar();        JMenu m1 = new JMenu("选项");        JMenu m2 = new JMenu("编辑");        JMenu m3 = new JMenu("帮助");        JMenuItem m11 = new JMenuItem("普通型计算器");        JMenuItem m12 = new JMenuItem("科学型计算器");        m1.add(m11);        m1.add(m12);        m11.addActionListener(new ActionListener() {            @Override            public void actionPerfORMed(ActionEvent e) {                boolean flag = false;                panel2.setVisible(flag);                frame.pack();            }        });        m12.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent e) {                boolean flag = true;                panel2.setVisible(flag);                frame.pack();            }        });        mb.add(m1);        mb.add(m2);        mb.add(m3);        frame.setJMenuBar(mb);    }    // 初始化输出文本域    private void initText() {        area.setFont(new Font("TimesRoman", Font.PLaiN, 20));        area.setSize(400, 100);        area.setHorizontalAlignment(JTextField.RIGHT); // 向右显示    }    // 初始化拓展功能    private void initExtend() {        panel2.setLayout(new GridLayout(1,4,1,1));        JButton b1 = new JButton("sin");        JButton b2 = new JButton("cos");        JButton b3 = new JButton("exp");        JButton b4 = new JButton("ln");        b1.setFont(new Font("TimesRoman", Font.PLAIN, 20));        b2.setFont(new Font("TimesRoman", Font.PLAIN, 20));        b3.setFont(new Font("TimesRoman", Font.PLAIN, 20));        b4.setFont(new Font("TimesRoman", Font.PLAIN, 20));        b1.setSize(100, 100);        b1.addActionListener(this);        b2.setSize(100, 100);        b2.addActionListener(this);        b3.setSize(100, 100);        b3.addActionListener(this);        b4.setSize(100, 100);        b4.addActionListener(this);        panel2.add(b1);        panel2.add(b2);        panel2.add(b3);        panel2.add(b4);    }    // 初始化计算器基本界面    private void initFrame() {        panel1.setLayout(new GridLayout(5, 4, 1, 1));        for (int i = 0; i < buttonsText.length; i++) {            JButton button = new JButton(buttonsText[i]);            button.setSize(100, 100);            button.setFont(new Font("TimesRoman", Font.PLAIN, 20));            button.addActionListener(this);            panel1.add(button);        }    }    // 初始化计算器总基本界面    private void initBorderLayout() {        frame.setLayout(new BorderLayout());        frame.add(panel1, BorderLayout.SOUTH); // 插入组件        frame.add(area, BorderLayout.NORTH);        frame.add(panel2, BorderLayout.CENTER);        frame.setLocation(700, 400);        frame.setSize(400, 700);        frame.setVisible(true); // 设置可见        panel2.setVisible(false);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 可以关闭        frame.pack();    }    public static void main(String[] args) {        new CaculatorTest();    }    @Override    // 事件监听    public void actionPerformed(ActionEvent e) {        String str = e.getActionCommand();        String str2 = area.getText();        if (str == "0" || str == "1" || str == "2" || str == "3" || str == "4" || str == "5" || str == "6" || str == "7"                || str == "8" || str == "9") {            if (key == false) {                area.setText(str2 + str);            } else {                area.setText(str);                key = false;            }        } else if (str == "C") {            area.setText("0");            sign = " ";            key = true;        } else if (str == ".") {            if (point == false) {                area.setText(str2 + str);                point = true;            } else {                area.setText("double poits!press C to update!");                point = false;            }        } else if (str == "+/-") {            double num = Double.valueOf(str2);            num = -num;            area.setText(String.valueOf(num));        } else if (str == "退格") {            if (str2.length() == 0) {                area.setText("can't be deleted!please press C!");            } else {                str2 = str2.substring(0, str2.length() - 1);                area.setText(str2);            }        } else if (str == "sqrt") {            area.setText("");            sign = "s";        } else if (str == "sin") {            area.setText("");            sign = "sin";        } else if (str == "cos") {            area.setText("");            sign = "cos";        } else if (str == "exp") {            area.setText("");            sign = "exp";        } else if (str == "ln") {            area.setText("");            sign = "ln";        } else {            if (str == "+") {                if (sign == " ") {                    sign = "+";                    temp = Double.valueOf(str2);                    area.setText("");                } else if (sign == "-") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = temp - Double.valueOf(str2);                        sign = "+";                        area.setText("");                        key = true;                    }                } else if (sign == "+") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = temp + Double.valueOf(str2);                        sign = "+";                        area.setText("");                        key = true;                    }                } else if (sign == "*") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = temp * Double.valueOf(str2);                        sign = "+";                        area.setText("");                        key = true;                    }                } else if (sign == "/") {                    if (str2.length() == 0) {                        sign = "+";                    } else if (Double.valueOf(str2) == 0) {                        area.setText("除数不能为0哦!按 C");                    } else {                        temp = temp / Double.valueOf(str2);                        area.setText("");                        sign = "+";                        key = true;                    }                } else if (sign == "s") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = Math.sqrt(Double.valueOf(str2));                        area.setText("");                        sign = "+";                    }                } else if (sign == "sin") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = Math.sin(Double.valueOf(str2));                        area.setText("");                        sign = "+";                    }                } else if (sign == "cos") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = Math.cos(Double.valueOf(str2));                        area.setText("");                        sign = "+";                    }                } else if (sign == "exp") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = Math.exp(Double.valueOf(str2));                        area.setText("");                        sign = "+";                    }                } else if (sign == "ln") {                    if (str2.length() == 0) {                        sign = "+";                    } else {                        temp = Math.log(Double.valueOf(str2));                        area.setText("");                        sign = "+";                    }                }            } else if (str == "-") {                if (sign == " ") {                    sign = "-";                    temp = Double.valueOf(str2);                    area.setText("");                } else if (sign == "-") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = temp - Double.valueOf(str2);                        sign = "-";                        area.setText("");                        key = true;                    }                } else if (sign == "+") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = temp + Double.valueOf(str2);                        sign = "-";                        area.setText("");                        key = true;                    }                } else if (sign == "*") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = temp * Double.valueOf(str2);                        sign = "-";                        area.setText("");                        key = true;                    }                } else if (sign == "/") {                    if (str2.length() == 0) {                        sign = "-";                    } else if (Double.valueOf(str2) == 0) {                        area.setText("除数不能为0哦!按 C");                    } else {                        temp = temp / Double.valueOf(str2);                        area.setText("");                        sign = "-";                        key = true;                    }                } else if (sign == "s") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = Math.sqrt(Double.valueOf(str2));                        area.setText("");                        sign = "-";                    }                } else if (sign == "sin") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = Math.sin(Double.valueOf(str2));                        area.setText("");                        sign = "-";                    }                } else if (sign == "cos") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = Math.cos(Double.valueOf(str2));                        area.setText("");                        sign = "-";                    }                } else if (sign == "exp") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = Math.exp(Double.valueOf(str2));                        area.setText("");                        sign = "-";                    }                } else if (sign == "ln") {                    if (str2.length() == 0) {                        sign = "-";                    } else {                        temp = Math.log(Double.valueOf(str2));                        area.setText("");                        sign = "-";                    }                }            } else if (str == "*") {                if (sign == " ") {                    sign = "*";                    temp = Double.valueOf(str2);                    area.setText("");                } else if (sign == "-") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = temp - Double.valueOf(str2);                        sign = "*";                        area.setText("");                        key = true;                    }                } else if (sign == "+") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = temp + Double.valueOf(str2);                        sign = "*";                        area.setText("");                        key = true;                    }                } else if (sign == "*") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = temp * Double.valueOf(str2);                        sign = "*";                        area.setText("");                        key = true;                    }                } else if (sign == "/") {                    if (str2.length() == 0) {                        sign = "*";                    } else if (Double.valueOf(str2) == 0) {                        area.setText("除数不能为0哦!按 C");                    } else {                        temp = temp / Double.valueOf(str2);                        area.setText("");                        sign = "*";                        key = true;                    }                } else if (sign == "s") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = Math.sqrt(Double.valueOf(str2));                        area.setText("");                        sign = "*";                    }                } else if (sign == "sin") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = Math.sin(Double.valueOf(str2));                        area.setText("");                        sign = "*";                    }                } else if (sign == "cos") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = Math.cos(Double.valueOf(str2));                        area.setText("");                        sign = "*";                    }                } else if (sign == "exp") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = Math.exp(Double.valueOf(str2));                        area.setText("");                        sign = "*";                    }                } else if (sign == "ln") {                    if (str2.length() == 0) {                        sign = "*";                    } else {                        temp = Math.log(Double.valueOf(str2));                        area.setText("");                        sign = "*";                    }                }            } else if (str == "/") {                if (sign == " ") {                    sign = "/";                    temp = Double.valueOf(str2);                    area.setText("");                } else if (sign == "-") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = temp - Double.valueOf(str2);                        sign = "/";                        area.setText("");                        key = true;                    }                } else if (sign == "+") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = temp + Double.valueOf(str2);                        sign = "/";                        area.setText("");                        key = true;                    }                } else if (sign == "*") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = temp * Double.valueOf(str2);                        sign = "/";                        area.setText("");                        key = true;                    }                } else if (sign == "/") {                    if (str2.length() == 0) {                        sign = "/";                    } else if (Double.valueOf(str2) == 0) {                        area.setText("除数不能为0哦!按 C");                    } else {                        temp = temp / Double.valueOf(str2);                        area.setText("");                        sign = "/";                        key = true;                    }                } else if (sign == "s") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = Math.sqrt(Double.valueOf(str2));                        area.setText("");                        sign = "/";                    }                } else if (sign == "sin") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = Math.sin(Double.valueOf(str2));                        area.setText("");                        sign = "/";                    }                } else if (sign == "cos") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = Math.cos(Double.valueOf(str2));                        area.setText("");                        sign = "/";                    }                } else if (sign == "exp") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = Math.exp(Double.valueOf(str2));                        area.setText("");                        sign = "/";                    }                } else if (sign == "ln") {                    if (str2.length() == 0) {                        sign = "/";                    } else {                        temp = Math.log(Double.valueOf(str2));                        area.setText("");                        sign = "/";                    }                }            } else if (str == "=") {                if (sign == "+") {                    if (str2.length() == 0) {                        area.setText(String.valueOf(temp));                        sign = " ";                    } else {                        temp = temp + Double.valueOf(str2);                        area.setText(String.valueOf(temp));                        sign = " ";                    }                } else if (sign == "-") {                    if (str2.length() == 0) {                        area.setText(String.valueOf(temp));                        sign = " ";                    } else {                        temp = temp - Double.valueOf(str2);                        area.setText(String.valueOf(temp));                        sign = " ";                    }                } else if (sign == "*") {                    if (str2.length() == 0) {                        area.setText(String.valueOf(temp));                        sign = " ";                    } else {                        temp = temp * Double.valueOf(str2);                        area.setText(String.valueOf(temp));                        sign = " ";                    }                } else if (sign == "/") {                    if (Double.valueOf(str2) == 0) {                        area.setText("除数不能为0哦!按C");                        sign = " ";                    } else {                        temp = temp / Double.valueOf(str2);                        area.setText(String.valueOf(temp));                        sign = " ";                    }                } else if (sign == " ") {                    if (str2.length() == 0) {                        area.setText(String.valueOf(temp));                    } else {                        temp = Double.valueOf(str2);                        area.setText(String.valueOf(temp));                    }                } else if (sign == "s") {                    temp = Math.sqrt(Double.valueOf(str2));                    area.setText(String.valueOf(temp));                    sign = " ";                } else if (sign == "sin") {                    temp = Math.sin(Double.valueOf(str2));                    area.setText(String.valueOf(temp));                    sign = " ";                } else if (sign == "cos") {                    temp = Math.cos(Double.valueOf(str2));                    area.setText(String.valueOf(temp));                    sign = " ";                } else if (sign == "exp") {                    temp = Math.exp(Double.valueOf(str2));                    area.setText(String.valueOf(temp));                    sign = " ";                } else if (sign == "ln") {                    temp = Math.log(Double.valueOf(str2));                    area.setText(String.valueOf(temp));                    sign = " ";                }                key = true;            }        }    }}

以上就是关于“如何使用java代码实现计算器”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: 如何使用java代码实现计算器

本文链接: https://www.lsjlt.com/news/330896.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用java代码实现计算器
    这篇“如何使用java代码实现计算器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用java代码实现计算器”文章吧。运...
    99+
    2023-06-30
  • java实现计算器的代码怎么写
    以下是一个简单的Java代码实现计算器的示例:```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args)...
    99+
    2023-08-11
    java
  • java如何实现科学计算器
    这篇文章主要介绍了java如何实现科学计算器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java如何实现科学计算器文章都会有所收获,下面我们一起来看看吧。实现思路通过点击按钮可以得到一个算术表达式,并且它是一...
    99+
    2023-07-02
  • 如何使用java代码代替xml实现SSM
    本篇内容介绍了“如何使用java代码代替xml实现SSM”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SpringBoot推荐开发者使用Ja...
    99+
    2023-06-21
  • Java中如何使用NumPy实现并发计算?
    Java是一门功能强大的编程语言,能够用于开发各种类型的应用程序。而NumPy则是一种用于数学计算的Python库,它可以帮助开发者进行高效的数组计算。本文将介绍如何在Java中使用NumPy实现并发计算。 一、Java中使用NumPy的...
    99+
    2023-07-23
    numy 并发 npm
  • python如何实现信息熵的计算代码
    小编给大家分享一下python如何实现信息熵的计算代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python的优点有哪些1、简单易用,与C/C++、Java、...
    99+
    2023-06-14
  • java实现科学计算器的全过程与代码
    目录介绍实现思路实现过程和代码1.界面设计2.栈,中缀转后缀3.判断错误4.计算后缀表达式5.事件监听器完整代码总结介绍 本次设计的是一个有33个按钮的科学计算器。可以进行加,减,乘...
    99+
    2024-04-02
  • JAVA中如何实现表达式计算源码
    这篇文章主要为大家展示了“JAVA中如何实现表达式计算源码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JAVA中如何实现表达式计算源码”这篇文章吧。支持运算符:+-*/%><][!...
    99+
    2023-06-03
  • 如何使用Django和Bootstrap实现计算器
    小编给大家分享一下如何使用Django和Bootstrap实现计算器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!准备工作创建一个应用添加应用到配置创建一个html编写视图函数from django.shortc...
    99+
    2023-06-25
  • 使用Javascript如何实现简单计算器
    小编给大家分享一下使用Javascript如何实现简单计算器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下1.htm...
    99+
    2024-04-02
  • Java实现计算器设计
    本文实例为大家分享了Java实现计算器设计的具体代码,供大家参考,具体内容如下 需求分析 目的是实现一个基于Java的可以求解带括号加减乘除表达式的带界面的计算器。 ...
    99+
    2024-04-02
  • java实现计算器模板及源码
    计算器实现了大部分基础功能:基本运算,菜单栏选项,并且拓展了普通型和科学兴选项等等,读者可以在此基础上进行修改和拓展。其他具体实现方法可以看源码,里面有详细的概述,代码框架清晰。 运...
    99+
    2024-04-02
  • 如何使用Java实现分布式计算中的numy算法?
    Java是一种流行的编程语言,它在分布式计算中非常有用。在分布式计算中,numpy算法是一种非常常见的算法。本篇文章将向您介绍如何使用Java实现分布式计算中的numpy算法。 numpy算法是一种用于处理多维数组的算法。在分布式计算中,n...
    99+
    2023-10-09
    分布式 关键字 numy
  • java 简单的计算器程序实例代码
    java 简单的计算器程序实现实例:import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator { public...
    99+
    2023-05-31
    java 计算器 ava
  • Django+Bootstrap实现计算器的示例代码
    目录准备工作导入Bootstrap前端框架编写前端内容编写视图函数准备工作 创建一个应用 添加应用到配置 创建一个html 编写视图函数 from django.short...
    99+
    2024-04-02
  • 如何使用PHP代码实现QQ代码
    要使用PHP代码实现QQ代码,你可以使用QQ互联开放平台提供的SDK来完成。以下是一个简单的示例代码:首先,你需要从QQ互联开放平台...
    99+
    2023-08-28
    PHP
  • Android开发简单计算器实现代码
    计算器项目,要求实现加、减、乘、除、求倒数、求平方根等简单运算。 真机调试结果如下图: 布局文件:main_activity.xml <?xml version=...
    99+
    2024-04-02
  • 怎么用Java实现计算器
    这篇文章主要介绍“怎么用Java实现计算器”,在日常操作中,相信很多人在怎么用Java实现计算器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Java实现计算器”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-20
  • Java如何实现一个简单计算器
    这篇文章主要介绍了Java如何实现一个简单计算器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先来看看界面效果:源码如下:package test1; i...
    99+
    2023-06-22
  • 使用SQL实现车流量的计算的示例代码
    目录卡口转换率1、查出每个地区下每个路段下的车流量2、通过错位连接获取每辆车的行车记录3、获取行车过程中的车辆数4、获取每个卡口的总车辆数5、求出卡口之间的转换率卡口转换率 将数据导...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作