java 计算器源代码.doc_第1页
java 计算器源代码.doc_第2页
java 计算器源代码.doc_第3页
java 计算器源代码.doc_第4页
java 计算器源代码.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

package com.niit.calculator;import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator extends JFrameString str1=;String str2=;String str3=;double result=0;double number=0;int count=0;private JPanel pnl1;private JPanel pnl2;private JPanel pnl3;private JPanel pnl4;/文本框private JTextField txt;/按钮private JButton btnBackspace;private JButton btnC;private JButton btnCe;private JButton btn;private String s;public Calculator()this.setLayout(new BorderLayout();this.setTitle(计算器);this.setBounds(100, 100, 350, 300);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/初始化组件initcomponent(); /* * 初始化组件 */public void initcomponent()/初始化pnlpnl1=new JPanel();pnl2=new JPanel();pnl3=new JPanel();pnl4=new JPanel();/上面this.add(pnl1,BorderLayout.NORTH);txt=new JTextField();txt.setHorizontalAlignment(JLabel.RIGHT);txt.setColumns(30);pnl1.add(txt);/中间this.add(pnl2,BorderLayout.CENTER);pnl2.setLayout(new BorderLayout();pnl2.add(pnl3,BorderLayout.NORTH);btnBackspace=new JButton(Backspace);btnBackspace.setForeground(Color.red);btnC=new JButton(C);btnC.setForeground(Color.red);btnCe=new JButton(CE);btnCe.setForeground(Color.red);pnl3.add(btnBackspace);pnl3.add(btnC);pnl3.add(btnCe);/下面pnl2.add(pnl4,BorderLayout.CENTER);pnl4.setLayout(new GridLayout(4,6);btn=new JButton24;s=new StringMC,7,8,9,/,sqrt,MR,4,5,6,*,%,MS,1,2,3,-,1/x,M+,0,+/-,.,+,=;for(int i=0;i24;i+)btni=new JButton(si);pnl4.add(btni);/按钮绑定点击监听器btni.addActionListener(new btnListener();btnC.addActionListener(new btnListener();btnBackspace.addActionListener(new btnListener();for(int i=0;i1)count=1;JOptionPane.showMessageDialog(null, 只能有一个点);else/是数字的情况if(str.equals(0)|str.equals(1)|str.equals(2)|str.equals(3)|str.equals(4)|str.equals(5)|str.equals(6)|str.equals(7)|str.equals(8)|str.equals(9)|str.equals(.)/记录数字str1+=str;/将第一个数转化为double类型number=Double.parseDouble(str1);/显示在文本框中txt.setText(str1);catch(NumberFormatException e2)/运算符的情况if(str.equals(+)|str.equals(-)|str.equals(*)|str.equals(/)|str.equals(%)|str.equals(sqrt)|str.equals(1/x)|str.equals(=)|str.equals(+/-)if(!str1.equals()&str1.indexOf(.)=str1.length()-1)JOptionPane.showMessageDialog(null, 最后一位不能为.);elsestr1=;if(str3!=null)if(str2.equals(+)result+=number;else if(str2.equals(-)result-=number;else if(str2.equals(*)result*=number;else if(str2.equals(/)if(number=0)JOptionPane.showMessageDialog(null, 除数不能为0);elseresult=result/number;else if(str2.equals(%)result=result%number;/sqtr情况if(str.equals(sqrt)result=Math.sqrt(number);txt.setText(result+);number=result;if(str.equals(1/x)result=1/number;txt.setText(result+);number=result;if(str.equals(+/-)result=(-number);txt.setText(result+);number=result;str3=1;if(str.equals(=)txt.setText(result+);str3=;number=result;/保存numberresult=number;/保留运算符str2=str;count=0;/c的情况if(str.equals(C)str1=;txt.setText(0);/backspacetryif(str.equals(Backspace)str1=str1.substring(0,str1.length()-1);txt.setText(str1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论