ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:18.53KB ,
资源ID:3340668      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3340668.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(科学计算器源代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

科学计算器源代码.docx

1、科学计算器源代码package two;import java.awt.*;import java*.swing.*;import java.awt.event.*;import java.io.*;import java.util.*;public class calculator implements ActionListener int count = 0; private static int a; JFrame frame = new JFrame(计算器); JTe*tArea area = new JTe*tArea(); JTe*tField fieldshow = new J

2、Te*tField(0); JTe*tField fieldcalculator = new JTe*tField(); JPanel leftpanel = new JPanel(); JPanel rightpanel = new JPanel(); JPanel buttonpanel = new JPanel(); JPanel motionpanel = new JPanel(); utton button1 = new utton(1); utton button2 = new utton(2); utton button3 = new utton(3); utton button

3、4 = new utton(+); utton button5 = new utton(c); utton button6 = new utton(4); utton button7 = new utton(5); utton button8 = new utton(6); utton button9 = new utton(-); utton button10 = new utton(退格); utton button11 = new utton(7); utton button12 = new utton(8); utton button13 = new utton(9); utton b

4、utton14 = new utton(*); utton button15 = new utton(sin); utton button16 = new utton(0); utton button17 = new utton(+/-); utton button18 = new utton(.); utton button19 = new utton(/); utton button20 = new utton(=); utton button21 = new utton(保存); utton button22 = new utton(复制); utton button23 = new u

5、tton(清除); StringBuffer S = new StringBuffer(); / t用来记录前一个运算符号是+ - * / =中的哪一个 char t; / count用来实现运算符号计数,a用来识别退格、正负号操作前一个操作是否是运算符号+ - * / sin = / int count = 0, a = 0; Double *1, *2 = 0d, result; public static void main(String a) calculator that = new calculator(); that.go(); void go() leftpanel.setLa

6、yout(new BorderLayout(); leftpanel.add(fieldshow, BorderLayout.NORTH); leftpanel.add(buttonpanel, BorderLayout.CENTER); buttonpanel.setLayout(new GridLayout(4, 5); buttonpanel.add(button1); buttonpanel.add(button2); buttonpanel.add(button3); buttonpanel.add(button4); buttonpanel.add(button5); button

7、panel.add(button6); buttonpanel.add(button7); buttonpanel.add(button8); buttonpanel.add(button9); buttonpanel.add(button10); buttonpanel.add(button11); buttonpanel.add(button12); buttonpanel.add(button13); buttonpanel.add(button14); buttonpanel.add(button15); buttonpanel.add(button16); buttonpanel.a

8、dd(button17); buttonpanel.add(button18); buttonpanel.add(button19); buttonpanel.add(button20); button1.addActionListener(this);/ 事件监听 button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); button6.addActionListener(this); b

9、utton7.addActionListener(this); button8.addActionListener(this); button9.addActionListener(this); button10.addActionListener(this); button11.addActionListener(this); button12.addActionListener(this); button13.addActionListener(this); button14.addActionListener(this); button15.addActionListener(this)

10、; button16.addActionListener(this); button17.addActionListener(this); button18.addActionListener(this); button19.addActionListener(this); button20.addActionListener(this); button21.addActionListener(this); button22.addActionListener(this); button23.addActionListener(this); rightpanel.setLayout(new B

11、orderLayout(); rightpanel.add(fieldcalculator, BorderLayout.NORTH); rightpanel.add(area, BorderLayout.CENTER); rightpanel.add(motionpanel, BorderLayout.SOUTH); motionpanel.add(button21); motionpanel.add(button22); motionpanel.add(button23); Container con = frame.getContentPane(); frame.setLayout(new

12、 GridLayout(1, 2); con.add(leftpanel); con.add(rightpanel); frame.setBounds(200, 200, 600, 300); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE); frame.addWindowListener(new WindowListener() / 关闭程序时弹出警告 public void windowClosing(WindowEvent e) int result = JOptionPane.sh

13、owConfirmDialog(frame, 确实要关闭程序吗, 警告, JOptionPane.OK_CANCEL_OPTION); if (result = JOptionPane.OK_CANCEL_OPTION) System.e*it(0); else public void windowOpened(WindowEvent e) public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowDeactivated(WindowEven

14、t e) public void windowClosed(WindowEvent e) public void windowActivated(WindowEvent e) ); public void actionPerformed(ActionEvent e) / 0123456789等按钮 if (e.getSource() = button1 | e.getSource() = button2 | e.getSource() = button3 | e.getSource() = button6 | e.getSource() = button7 | e.getSource() =

15、button8 | e.getSource() = button11 | e.getSource() = button12 | e.getSource() = button13 | e.getSource() = button16) a = 0; if (count = 0) S.append(e.getActionmand(); fieldshow.setTe*t(S.toString(); *1 = Double.parseDouble(fieldshow.getTe*t(); else if (count = 1) S.append(e.getActionmand(); fieldsho

16、w.setTe*t(S.toString(); *2 = Double.parseDouble(fieldshow.getTe*t(); / 小数点的容错性 if (e.getSource() = button18)/ 单击.按钮输入小数 a = 0; if (fieldshow.getTe*t().trim().inde*Of(.) != -1)/ 判断字符串中是否已经包含了小数点 else/ 如果没有小数点 if (fieldshow.getTe*t().trim().equals(0)/ 如果初时显示为0 S.setLength(0); fieldshow.setTe*t(S.appen

17、d(0 + e.getActionmand() .toString(); else if (fieldshow.getTe*t().trim().equals()/ 如果初时显示为空则不做任何操作 else fieldshow .setTe*t(S.append(e.getActionmand().toString(); / 运算符号 + - * / if (e.getSource() = button4 | e.getSource() = button9 | e.getSource() = button14 | e.getSource() = button19) count+; a = 1;

18、 S.setLength(0); if (e.getSource() = button4)/ +法 switch (t) case +: result = *1 + *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + + + *2 + = + result); area.append(*1 + + + *2 + = + result + n); break; case -: result = *1 - *2; fieldshow.setTe*t(result.toString(); fieldcalcula

19、tor.setTe*t(*1 + + + *2 + = + result); area.append(*1 + - + *2 + = + result + n); break; case *: result = *1 * *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + + + *2 + = + result); area.append(*1 + * + *2 + = + result + n); break; case /: if (*2 = 0) fieldshow.setTe*t(除数不能为零);

20、else result = *1 / *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + + + *2 + = + result); area.append(*1 + / + *2 + = + result + n); break; case =: default: if (count = 2) *1 = result; t = +; if (e.getSource() = button9)/ -法 switch (t) case +: result = *1 + *2; fieldshow.setTe*t

21、(result.toString();fieldcalculator.setTe*t(*1 + + + *2 + = + result); area.append(*1 + + + *2 + = + result + n); break; case -: result = *1 - *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + - + *2 + = + result); area.append(*1 + - + *2 + = + result + n); break; case *: result =

22、 *1 * *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + * + *2 + = + result); area.append(*1 + * + *2 + = + result + n); break; case /: if (*2 = 0) fieldshow.setTe*t(除数不能为零); else result = *1 / *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + / + *2 + = + res

23、ult); area.append(*1 + / + *2 + = + result + n); break; case =: default: if (count = 2) *1 = result; t = -; if (e.getSource() = button14)/ *法 switch (t) case +: result = *1 + *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + + + *2 + = + result); area.append(*1 + + + *2 + = + res

24、ult + n); break; case -: result = *1 - *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + - + *2 + = + result); area.append(*1 + - + *2 + = + result + n); break; case *: result = *1 * *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + * + *2 + = + result); area.

25、append(*1 + * + *2 + = + result + n); break; case /: if (*2 = 0) fieldshow.setTe*t(除数不能为零); else result = *1 / *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + / + *2 + = + result); area.append(*1 + / + *2 + = + result + n); break; case =: default: if (count = 2) *1 = result; t

26、= *; if (e.getSource() = button19)/ /法 switch (t) case +: result = *1 + *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + + + *2 + = + result); area.append(*1 + + + *2 + = + result + n); break; case -: result = *1 - *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + - + *2 + = + result); area.append(*1 + - + *2 + = + result + n); break; case *: result = *1 * *2; fieldshow.setTe*t(result.toString(); fieldcalculator.setTe*t(*1 + * + *2 + = + result); area.append(*1 + * + *2 + = + result + n); break; case /: if (*2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1