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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算器源代码.docx

1、计算器源代码import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.*;public class Calculate extends JFrame private String front = , behind = ; /分别用于记录加减乘除运算符之前,之后输入的内容 private String op; /用于记录运算符 private String re;/用于存储运算结果的字符串格式 private boolean flag = false; /用于记录是否按下了运算符 private b

2、oolean flag1 = false;/用于判断是否输入了点运算符 private double result;/用于存储运算结果 private boolean flag2 = false;/用于判断是否输入了数字 private boolean flag3 = false;/用于判断是否按下了等号运算符 JPanel contentPane; JTextField txtResult = new JTextField(0); JButton btnNull = new JButton(sqrt); JButton btnFour = new JButton(4); JButton bt

3、nFive = new JButton(5); JButton btnSix = new JButton(6); JButton btnDecrease = new JButton(-); JButton btnBegin = new JButton(C); JButton btnOne = new JButton(1); JButton btnTwo = new JButton(2); JButton btnThree = new JButton(3); JButton btnMultiply = new JButton(*); JButton btnCancel = new JButton

4、(); JButton btnZero = new JButton(0); JButton btnMinus = new JButton(+/-); JButton btnPoint = new JButton(.); JButton btnDivide = new JButton(/); JButton btnEqual = new JButton(=); JButton btnIncrease = new JButton(+); JButton btnSeven = new JButton(7); JButton btnEight = new JButton(8); JButton btn

5、Nine = new JButton(9);public Calculate() try setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); catch (Exception exception) exception.printStackTrace(); private void jbInit() throws Exception contentPane = (JPanel) getContentPane(); contentPane.setLayout(null); this.setResizable(false); setSize(new

6、Dimension(400, 300); setTitle(计算器); txtResult.setEnabled(false); txtResult.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); txtResult.setEditable(false); txtResult.setHorizontalAlignment(SwingConstants.RIGHT); txtResult.setBounds(new Rectangle(33, 19, 310, 34); btnNull.setBounds(new Rectangle(298,

7、 70, 46, 37); btnNull.setFont(new java.awt.Font(Dialog, Font.PLAIN, 12); /btnNull.addActionListener(new FrameCalculate_btnNull_actionAdapter(this); btnFour.setBounds(new Rectangle(33, 120, 46, 37); btnFour.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnFive.setBounds(new Rectangle(101, 120, 4

8、6, 37); btnFive.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnSix.setBounds(new Rectangle(167, 119, 46, 37); btnSix.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnDecrease.setBounds(new Rectangle(234, 120, 46, 37); btnDecrease.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnBegi

9、n.setBounds(new Rectangle(298, 121, 46, 37); btnBegin.setFont(new java.awt.Font(Dialog, Font.PLAIN, 15); btnBegin.addActionListener(new Calculate_btnBegin_actionAdapter(this); btnOne.setBounds(new Rectangle(33, 172, 46, 37); btnOne.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnTwo.setBounds(

10、new Rectangle(101, 172, 46, 37); btnTwo.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnThree.setBounds(new Rectangle(167, 172, 46, 37); btnThree.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnMultiply.setBounds(new Rectangle(234, 172, 46, 37); btnMultiply.setFont(new java.awt.Font(Dial

11、og, Font.PLAIN, 20); btnCancel.setBounds(new Rectangle(298, 172, 46, 37); btnCancel.setFont(new java.awt.Font(Dialog, Font.PLAIN, 12); btnCancel.addActionListener(new Calculate_btnCancel_actionAdapter(this); btnZero.setBounds(new Rectangle(33, 222, 46, 37); btnZero.setFont(new java.awt.Font(Dialog,

12、Font.PLAIN, 20); /加载数字0-9的监听事件 btnZero.addActionListener(new Calculate_btnZero_actionAdapter(this); btnOne.addActionListener(new Calculate_btnZero_actionAdapter(this); btnTwo.addActionListener(new Calculate_btnZero_actionAdapter(this); btnThree.addActionListener(new Calculate_btnZero_actionAdapter(t

13、his); btnFour.addActionListener(new Calculate_btnZero_actionAdapter(this); btnFive.addActionListener(new Calculate_btnZero_actionAdapter(this); btnSix.addActionListener(new Calculate_btnZero_actionAdapter(this); btnSeven.addActionListener(new Calculate_btnZero_actionAdapter(this); btnEight.addAction

14、Listener(new Calculate_btnZero_actionAdapter(this); btnNine.addActionListener(new Calculate_btnZero_actionAdapter(this); btnMinus.setBounds(new Rectangle(101, 222, 46, 37); btnMinus.setFont(new java.awt.Font(Dialog, Font.PLAIN, 10); btnMinus.addActionListener(new Calculate_btnMinus_actionAdapter(thi

15、s); btnPoint.setBounds(new Rectangle(167, 222, 46, 37); btnPoint.setFont(new java.awt.Font(Dialog, Font.PLAIN, 30); btnPoint.setHorizontalTextPosition(SwingConstants.CENTER); btnPoint.addActionListener(new Calculate_btnPoint_actionAdapter(this); btnDivide.setBounds(new Rectangle(234, 222, 46, 37); b

16、tnDivide.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnEqual.setBounds(new Rectangle(298, 222, 46, 37); btnEqual.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnEqual.addActionListener(new Calculate_btnEqual_actionAdapter(this); btnIncrease.setBounds(new Rectangle(234, 70, 46, 37); btn

17、Increase.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); /加载加减乘除运算符的监听事件 btnIncrease.addActionListener(new Calculate_btnIncrease_actionAdapter(this); btnDecrease.addActionListener(new Calculate_btnIncrease_actionAdapter(this); btnMultiply.addActionListener(new Calculate_btnIncrease_actionAdapter(

18、this); btnDivide.addActionListener(new Calculate_btnIncrease_actionAdapter(this); btnSeven.setBounds(new Rectangle(33, 70, 46, 37); btnSeven.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); btnEight.setBounds(new Rectangle(101, 70, 46, 37); btnEight.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20

19、); btnNine.setBounds(new Rectangle(167, 70, 46, 37); btnNine.setFont(new java.awt.Font(Dialog, Font.PLAIN, 20); contentPane.add(btnFive); contentPane.add(btnSix); contentPane.add(btnDecrease); contentPane.add(btnBegin); contentPane.add(btnOne); contentPane.add(btnTwo); contentPane.add(btnThree); con

20、tentPane.add(btnMultiply); contentPane.add(btnCancel); contentPane.add(btnMinus); contentPane.add(btnPoint); contentPane.add(btnDivide); contentPane.add(btnEqual); contentPane.add(btnEight); contentPane.add(btnNine); contentPane.add(btnFour); contentPane.add(btnSeven); contentPane.add(btnIncrease);

21、contentPane.add(btnNull); contentPane.add(txtResult); contentPane.add(btnZero); public void btnZero_actionPerformed(ActionEvent e) if (flag) /如果刚刚按下了运算符 txtResult.setText(); if (flag1) /判断之前是否输入了点运算符 txtResult.setText(0. + e.getActionCommand(); flag1 = false; else txtResult.setText(e.getActionComman

22、d(); flag2 = true; else int num = txtResult.getText().indexOf(.); if (num 0 & !txtResult.getText().equals(0) txtResult.setText(txtResult.getText() + e.getActionCommand(); else if (num = 0 & txtResult.getText().equals(0) txtResult.setText(0. + e.getActionCommand(); else if (num = 0 & !txtResult.getTe

23、xt().equals(0) txtResult.setText(txtResult.getText() + e.getActionCommand(); flag = false; flag3=false; public void btnIncrease_actionPerformed(ActionEvent e) if(flag3) txtResult.setText(txtResult.getText(); op = e.getActionCommand(); /得到刚刚按下的运算符 front = txtResult.getText(); /记录加减乘除运算符之前输入的内容 else i

24、f (flag2) ActionEvent ee = new ActionEvent(qq, 1, pp); btnEqual_actionPerformed(ee); op = e.getActionCommand(); /得到刚刚按下的运算符 front = re; flag2 = false; else front = txtResult.getText(); /记录加减乘除运算符之前输入的内容 op = e.getActionCommand(); /得到刚刚按下的运算符 flag3=false; flag = true; /记录已经按下了加减乘除运算符的其中一个 public void

25、 btnEqual_actionPerformed(ActionEvent e) if(!flag3)/未曾按下等于运算符 behind = txtResult.getText(); else front = re; try double a1 = Double.parseDouble(front); double b1 = Double.parseDouble(behind); if (op = +) result = a1 + b1; else if (op = -) result = a1 - b1; else if (op = *) result = a1 * b1; else res

26、ult = a1 / b1; Double r = new Double(result); re = r.toString(result); txtResult.setText(re); catch (ArithmeticException ce) txtResult.setText(除数不能为零); catch (Exception ee) if (!flag3) flag3 = true; public void btnPoint_actionPerformed(ActionEvent e) int num=txtResult.getText().indexOf(.); if(num=0)

27、/若文本框中含有负号 String a=txtResult.getText().replaceAll(-,); txtResult.setText(a); else if(flag) txtResult.setText(0); else txtResult.setText(-+txtResult.getText(); public void btnCancel_actionPerformed(ActionEvent e) /退格事件处理方法 String str=txtResult.getText(); if(str.length() = 1)/如文本框中只剩下最后一个字符,将文本框内容置为0

28、 txtResult.setText(0); if(str.length()1) str=str.substring(0,str.length()-1); txtResult.setText(str); public static void main(String args) Calculate fc = new Calculate(); fc.setSize(400,310); fc.setLocation(200,150); fc.setVisible(true); class Calculate_btnCancel_actionAdapter implements ActionListener private Calculate adaptee; Calculate_btnCancel_actionAdapt

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2