我是靠谱客的博主 可爱彩虹,这篇文章主要介绍Java实现一个简单计算器,现在分享给大家,希望可以做个参考。

先来看看界面效果:

源码如下:

复制代码
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
package test1;   import java.awt.Frame; import java.awt.TextField; import java.awt.Button; import java.awt.Panel; import java.awt.GridLayout;   import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;   import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class calculate {     TextField tfResult;     Button btNum[],btOper[],btPoint,btEqual,btBack,btSqrt,btPingfang,btLifang;     int num1,num2;//操作数     char oper;//操作符     boolean isNum;//代表数字标志位     public void init(){         Frame f;                  tfResult=new TextField();                  btNum=new Button[10];//数组对象         for(int i=0;i<=9;i++){             btNum[i]=new Button(i+"");         }         btOper=new Button[4];         btOper[0]=new Button("+");         btOper[1]=new Button("-");         btOper[2]=new Button("*");         btOper[3]=new Button("/");                  btPoint=new Button(".");         btEqual=new Button("=");         btBack=new Button("Backspace");         btSqrt=new Button("Sqrt");         btPingfang=new Button("2");         btLifang=new Button("3");         f=new Frame("小羊羔的计算器!");                  f.setSize(300,300);                  //放置组件         f.add(tfResult,"North");         Panel panel=new Panel();         f.add(panel,"Center");         GridLayout gl=new GridLayout(5,4);         panel.setLayout(gl);         panel.add(btNum[1]);         panel.add(btNum[2]);         panel.add(btNum[3]);         panel.add(btOper[0]);                  panel.add(btNum[4]);         panel.add(btNum[5]);         panel.add(btNum[6]);         panel.add(btOper[1]);                  panel.add(btNum[7]);         panel.add(btNum[8]);         panel.add(btNum[9]);         panel.add(btOper[2]);                  panel.add(btNum[0]);         panel.add(btPoint);         panel.add(btEqual);         panel.add(btOper[3]);                  panel.add(btBack);         panel.add(btSqrt);         panel.add(btPingfang);         panel.add(btLifang);         f.setVisible(true);                  //注册监听         f.addWindowListener(new MyWinLis());         //数字按钮注册监听         MyNumLis mnl=new MyNumLis();         for(int i=0;i<=9;i++)             btNum[i].addActionListener(mnl);                  //操作符按钮注册监听         MyOperLis mol=new MyOperLis();         for(int j=0;j<=3;j++)             btOper[j].addActionListener(mol);         //等号按钮注册监听         MyEqualLis mel=new MyEqualLis();         btEqual.addActionListener(mel);         //删除按钮注册监听         MyBackLis mbl=new MyBackLis();         btBack.addActionListener(mbl);         //开根号按钮注册监听         MySqrtLis msl=new MySqrtLis();         btSqrt.addActionListener(msl);         //平方按钮注册监听         MyPingfangLis mpl=new MyPingfangLis();         btPingfang.addActionListener(mpl);         //百分号注册监听         MyLifangLis mll=new MyLifangLis();         btLifang.addActionListener(mll);     }     //定义监听器类     class MyNumLis implements ActionListener{         public void actionPerformed(ActionEvent e){             String t=e.getActionCommand();             String s=tfResult.getText();             if(isNum==false)                 tfResult.setText(t);             else                  tfResult.setText(s+t);             isNum=true;         }     }     class MySqrtLis implements ActionListener{         public void actionPerformed(ActionEvent e){             double t=Double.parseDouble(tfResult.getText());             tfResult.setText(Math.sqrt(t)+"");             isNum=false;         }     }     class MyPingfangLis implements ActionListener{         public void actionPerformed(ActionEvent e){             num1=Integer.parseInt(tfResult.getText());             tfResult.setText(num1*num1+"");         }     }     class MyLifangLis implements ActionListener{         public void actionPerformed(ActionEvent e){             num1=Integer.parseInt(tfResult.getText());             tfResult.setText(num1*num1*num1+"");         }     }     class MyOperLis implements ActionListener{         public void actionPerformed(ActionEvent e){             num1=Integer.parseInt(tfResult.getText());//转化为INT             oper=e.getActionCommand().charAt(0);             isNum=false;         }     }     class MyEqualLis implements ActionListener{         public void actionPerformed(ActionEvent e){             int result=0;             isNum=false;             num2=Integer.parseInt(tfResult.getText());             switch(oper){                 case '+':result=num1+num2;break;                 case '-':result=num1-num2;break;                 case '*':result=num1*num2;break;                 case '/':result=num1/num2;break;             }             tfResult.setText(result+"");         }     }     class MyBackLis implements ActionListener{         public void actionPerformed(ActionEvent e){             tfResult.setText("");             isNum=false;         }     }     class MyWinLis extends WindowAdapter{         public void windowClosing(WindowEvent e){             e.getWindow().setVisible(false);             e.getWindow().dispose();             System.exit(0);         }     }          public static void main(String[] args) {         // TODO Auto-generated method stub         new calculate().init();     }   }

11×5=?界面如下: 

到此这篇关于Java实现一个简单计算器的文章就介绍到这了,更多相关Java简单计算器内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是可爱彩虹最近收集整理的关于Java实现一个简单计算器的全部内容,更多相关Java实现一个简单计算器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(197)

评论列表共有 0 条评论

立即
投稿
返回
顶部