简单的计算器

[1].[文件] MyCalculator.java ~ 3KB    下载(2) 跳至 [1]

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

import

java.awt.*;

import

javax.swing.*;

import

java.awt.event.*;

public

class

MyCalculator
extends

JFrame{

    

    private

static

final

long

serialVersionUID = 1L;

    

    private

String showStr=
"",remainStr="",method="";

    private

boolean

isCalculated=
false;

    private

void

setShowStr(String showStr){

        this.showStr=showStr;

    }

    private

String[] str={
"C",
"CE",
"+/-",

            "7",
"8",
"9",
"4",
"5",
"6",
"1",
"2",
"3","0",

            ".",
"=",
"+",
"-",
"*",
"/"};

    JButton[]
jbt=
new

JButton[str.length];

    JTextField
jtf=
new

JTextField();

    

    public

MyCalculator(){

        for

(
int

i=
0;i<str.length;i++){

            jbt[i]=new

JButton(str[i]);

        }

        

        JPanel
p1=
new

JPanel();

        p1.setLayout(new

GridLayout(
5,3));

        for

(
int

i=
0;i<str.length-4;i++){

            p1.add(jbt[i]);

        }

        

        JPanel
p2=
new

JPanel();

        p2.setLayout(new

GridLayout(
4,1));

        for

(
int

i=str.length-
4;i<str.length;i++){

            p2.add(jbt[i]);

        }

        add(jtf,BorderLayout.NORTH);

        add(p1,BorderLayout.CENTER);

        add(p2,BorderLayout.EAST);

        

        ButtonListener
listener=
new

ButtonListener();

        for

(
int

i=
0;i<str.length;i++){

            jbt[i].addActionListener(listener);

        }

    }

    

    class

ButtonListener
implements

ActionListener {

        public

void

actionPerformed(ActionEvent e){

            String
s=e.getActionCommand();

            if

(s==
"C"&&showStr.length()>0){

                showStr=showStr.substring(0,showStr.length()-1);

                jtf.setText(showStr);

            }//clear

            else

if

(s==
"CE"){

                showStr="";

                remainStr="";

                isCalculated=false;

                jtf.setText(showStr);

            }

            //clear
all

            else

if

(s==
"+"||s=="-"||s=="*"||s=="/"){

                remainStr=showStr;

                showStr="";

                method=s;

                jtf.setText(showStr);

            }

            else

if

(s==
"+/-"&&showStr==""){

                showStr+="-";

                jtf.setText(showStr);

            }

            else

if

(s==
"="){

                jtf.setText(calculation(remainStr,showStr,method));

            }

            else

{

                if(isCalculated){

                    showStr="";

                    jtf.setText(showStr);

                    isCalculated=false;

                }

                showStr+=s;

                jtf.setText(showStr);

            }//number

        }

    }

    private

String calculation(String s1,String s2,String s3){

        Double
num1=Double.parseDouble(s1);

        Double
num2=Double.parseDouble(s2);

        isCalculated=true;

        if

(s3==
"+"){

            setShowStr(num1+num2+"");

            return

num1+num2+
"";

        }

        else

if

(s3==
"-"){

            setShowStr(num1-num2+"");

            return

num1-num2+
"";

        }

        else

if

(s3==
"*"){

            setShowStr(num1*num2+"");

            return

num1*num2+
"";

        }

        else

if

(s3==
"/"){

            setShowStr(num1/num2+"");

            return

num1/num2+
"";

        }

        return

"error"
;

    }

    public

static

void

main(String[] args){

        JFrame
frame=
new

MyCalculator();

        frame.pack();

        frame.setLocationRelativeTo(null);

        frame.setVisible(true);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

}

时间: 2024-08-07 19:41:48

简单的计算器的相关文章

JS实现一个简单的计算器

使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择框的值. 提示:document.getElementById( id名 ).value 获取或设置 id名的值. 第三步: 获取通过下拉框来选择的值来改变加减乘除的运算法则. 提示:使用switch判断运算法则. 第四步:  通过 = 按钮来调用创建的函数,得到结果. 注意: 使用parseInt

留念 C语言第一课简单的计算器制作

学C语言这么久了.  /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h>  #include<stdlib.h> #include<conio.h>void displayMenu();void add();void sub();void multiply();void divide();void yushu();void jiecheng();void leijia();void jiechengleijia();int main(in

最简单的计算器脚本

看过老男孩的视频,感触颇深啊,老师的思想真不是一般人可以想到的,来看看老男孩老师的超简单的计算器脚本吧 #!/bin/sh echo $(($1)) 大家都知道$(())中间小括号里面的内容可以被外面括号当作运算来输出,但是知道以上的方式的人有多少呢??? 脚本应用 [[email protected] scripts]# cat 1.sh  #!/bin/sh echo $(($1)) [[email protected] scripts]# sh 1.sh 10*10 100 [[email

利用树莓派实现简单的计算器

在实验板上实现一个简单的计算器,要求在实验板的命令行运行程序,输入两个100以内的数字以及运算符 (+,-,*,/),然后计算结果并在数码管上显示计算结果. 电路设计如下: 实物连接: 代码如下: #include <wiringPi.h> #include <stdio.h> #include <stdlib.h> #define DIGIT1 9 #define DIGIT2 13 #define DIGIT3 12 #define DIGIT4 8 #define

VS2012中使用MFC制作简单的计算器

用MFC来制作一个简单的计算器,来加深对MFC学习的理解,这个计算器是建立在对话框的基础上,下面来简单介绍下如何制作属于你自己的计算器 1.首先,点击VS2012,启动VS软件,然后建立如下图所示的应用程序,在图的下面输入项目名 2.建立基于对话框的标准程序,如下图所示,其余设置采用系统设置,点击完成 3.如下图,软件会生成下面的对话框,还有相应的库,代码,资源文件等 4.对上面的对话框进行编辑,如下图中所示,最后编辑的样子如下,其中1,5,6是Edit 控件,2,7是静态控件,3是buttio

教学项目之-通过Python实现简单的计算器

教学项目之-通过Python实现简单的计算器 计算器开发需求 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2

IOS 开发笔记-基础 UI(1)-简单的计算器

(1)UI是App的根基:一个App应该是先有UI界面,然后在UI的基础上增加实用功能 (2)UI相对简单易学:UI普遍是学习过程中最简单的一块,能快速拥有成就感和学习兴趣 (3)UI至关重要:开发中的绝大部分时间都在处理UI 谨记一条IOS软件开发定律:万物皆对象,UI界面上的每一个元素都是一个对象 IOS,android 软件开发过程 UIKit框架是跟UI有关系的,标签,文本,按钮,进度条,开关等控件,都是封装在UIKit框架内部的,UIKit框架中提供了丰富多彩的可视化组件元素,利用UI

使用JS完成一个简单的计算器功能

使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElementById("id").value = 1: 取值:var = document.getElementById("id").value: 任务 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择框的值. 提示:document.getElement

Swift之旅:1.概述-用Swift实现一个简单的计算器

学习所用到的资源: 斯坦福大学公开课:iOS 8开发 网易空开课地址链接:斯坦福大学公开课:IOS8开发 github上字幕链接:字幕 百度网盘资源下载链接:百度网盘 1.详解IOS编程的四个层 ①cocoa touch层 这是我们最长用到的层,里面最长用到的当然是最基础的控件 ②媒体层(Media) ③核心服务层 ④核心操作系统层 2.新建一个Swift的IOS工程 ①打开Xcode,按照图示新建一个工程 ②选择Application 然后 单击Sigle View Application.

C#基础视频教程4.2 如何编写简单的计算器

用过VB6或者早期代码的人都应该能感觉到,C#目前也没看出来有什么特别之处,所谓的面向对象也没有什么体现.所以我们需要在原有基础上重写一份代码,然后比较两种做法的优缺点.我们在项目上右击添加一个FunctionMath的类. ? 之所以叫做FunctionMath,是讲他专门处理数学运算的(加减乘除之外,开方根,矩阵运算,四元数运算等等都可以认为是Math该做的事情,我们单独做这个类就是为了自己不断扩充这个类,然后越来越强大,以后碰到问题不用百度搜,不用问人,直接看自己写的函数库就完了).我们还