计算器加入异常处理机制.doc

上传人:枫** 文档编号:551193250 上传时间:2023-01-24 格式:DOC 页数:6 大小:287.51KB
返回 下载 相关 举报
计算器加入异常处理机制.doc_第1页
第1页 / 共6页
计算器加入异常处理机制.doc_第2页
第2页 / 共6页
计算器加入异常处理机制.doc_第3页
第3页 / 共6页
计算器加入异常处理机制.doc_第4页
第4页 / 共6页
计算器加入异常处理机制.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《计算器加入异常处理机制.doc》由会员分享,可在线阅读,更多相关《计算器加入异常处理机制.doc(6页珍藏版)》请在金锄头文库上搜索。

1、计算器加入异常处理机制import java.awt.Color;import java.awt.Container;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Panel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JButton;im

2、port javax.swing.JFrame;import javax.swing.JTextField;public class Calculatorextends Frame implements ActionListener private static final long serialVersionUID = 1L;JFrame calculator = new JFrame(计算器); Panel panel; / JTextField tf1; / String string=sqrt,+/-,Backspace,C,7,8,9,/,4,5,6,*,1,2,3,-,0,.,=,

3、+; JButton buttons=new JButtonstring.length; StringBuffer str = new StringBuffer(); /显示屏所显示的字符串 double x,y; /x和y都是运算数 int z; /Z表示单击了那一个运算符.0表示+,1表示-,2表示*,3表示/ static double m;/记忆的数字 public Calculator() /System.out.println(*1); tf1=new JTextField(27);/显示屏 tf1.setHorizontalAlignment(JTextField.RIGHT);

4、 tf1.setEnabled(false); tf1.setText(0); panel=new Panel();/ 实例化面板 Container c=calculator.getContentPane(); c.add(tf1,North); c.add(panel,Center); panel.setLayout(new GridLayout(5,4,5,5);/添加面板panel中的组件和设置其在框架中的位置和大小 setResizable(false);/禁止调整框架的大小 /System.out.println(*2); /实例化所有按钮、设置其前景色并注册监听器 for (in

5、t i=0; i buttons.length; i+) /System.out.println(*4); buttonsi = new JButton(stringi); panel.add(buttonsi); buttonsi.addActionListener(this); /为按钮注册单击事件监听器 calculator.setSize(400,300); calculator.setVisible(true); /匿名类关闭窗口 addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e

6、1) System.exit(0); ); setBackground(Color.lightGray); /构造监听器 Override public void actionPerformed(ActionEvent e2) / TODO Auto-generated method stub /StringBuffer str1 = new StringBuffer(); try if(e2.getSource()=buttons3)/选择C清零 tf1.setText(0);/把显示屏清零 str.setLength(0);/清空字符串缓冲区以准备接收新的输入运算数 else if(e2.

7、getSource()=buttons1)/单击+/-选择输入的运算数是正数还是负数 x=Double.parseDouble(tf1.getText().trim(); tf1.setText(+(-x); else if(e2.getSource()=buttons19)/单击加号按钮获得x的值和z的值并清空y的值 x=Double.parseDouble(tf1.getText().trim(); str.setLength(0);/清空缓冲区以便接收新的另一个运算数 y=0d; z=0; else if(e2.getSource()=buttons15)/单击减号按钮获得x的值和z的值

8、并清空y的值 x=Double.parseDouble(tf1.getText().trim(); str.setLength(0); y=0d; z=1; else if(e2.getSource()=buttons11)/单击乘号按钮获得x的值和z的值并清空y的值 x=Double.parseDouble(tf1.getText().trim(); str.setLength(0); y=0d; z=2; else if(e2.getSource()=buttons7)/单击除号按钮获得x的值和z的值并空y的值 x=Double.parseDouble(tf1.getText().trim

9、(); str.setLength(0); y=0d; z=3; else if(e2.getSource()=buttons18)/单击等号按钮输出计算结果 str.setLength(0); switch(z) case 0 : tf1.setText(+(x+y);break; case 1 : tf1.setText(+(x-y);break; case 2 : tf1.setText(+(x*y);break; case 3 : tf1.setText(+(x/y);break; else if(e2.getSource()=buttons17)/单击.按钮输入小数 if(tf1.g

10、etText().trim().indexOf(.)!=-1)/判断字符串中是否已经包含了小数点 else/如果没数点有小 if(tf1.getText().trim().equals(0)/如果初时显示为0 str.setLength(0); tf1.setText(str.append(0+e2.getActionCommand().toString(); else if(tf1.getText().trim().equals()/如果初时显示为空则不做任何操作 else tf1.setText(str.append(e2.getActionCommand().toString(); y=

11、0d; else if(e2.getSource()=buttons0)/求平方根 x=Double.parseDouble(tf1.getText().trim(); tf1.setText(数字格式异常); if(x0) tf1.setText(负数没有平方根); else tf1.setText(+Math.sqrt(x); str.setLength(0); y=0d; /选择的是其他的按钮 else if(e2.getSource()=buttons16)/如果选择的是0这个数字键 if(tf1.getText().trim().equals(0)/如果显示屏显示的为零不做操作 else

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号