




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Myeclipse环境下Java语言编写的计算器小程序 源代码 上传于山东农业大学机房 望广大网友指出不足 加以改正 2010年12月21日/程序的主要部分package pkg_1;import java.awt.*;import java.awt.Button;import java.awt.GridLayout;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;public class cacalator extends Frame implements ActionListener, WindowListener String button_name = 1, 2, 3, +, 4, 5, 6, -, 7, 8, 9, *, 0, =, 清除, / ;/按钮上的字符串Button but;/按钮数组TextField text_1;/一个文本框 用于记录数入的字符串Panel pan_1, pan_2;/两个面板double n_1 = 0, n_2 = 0;/记录输入的数值char c = 1;/记录输入的符号 static int n=0;/记录数入的符号的数目static String s_1=,s_3=; static String s_2 =;/记录输入符号前输入的字符串 cacalator()super(计算器);/调用父类的构造函数setSize(300,300);/设置大小setLayout(new BorderLayout(10,10);/布局but=new Buttonbutton_name.length;/实例化 创建按钮数组text_1=new TextField(0);/实例化并出示话为0pan_1=new Panel();/实例化pan_2=new Panel();/实例化pan_1.setLayout(new GridLayout(1,1);/设置面板1为2行1列pan_1.add(text_1);/将文本框添加到面板1中add(pan_1,BorderLayout.NORTH);/将面板1放到窗体的上部pan_2.setLayout(new GridLayout(4,4);/设置面板2为4行4列for(int i=0;ibutton_name.length;i+)buti=new Button(button_namei);/写入按钮上的字pan_2.add(buti);/按钮添加到面板2上buti.addActionListener(this);/加上监听add(pan_2,BorderLayout.CENTER);/将面板2放到窗体的中间addWindowListener(this);/窗体加上监听setVisible(true);/设置可见public void actionPerformed(ActionEvent arg0) String s_0, s_1;/定义字符创用以存储读出的东西s_0 = arg0.getActionCommand();/读到单击按钮时 按钮上的字符串 相当于记录命令s_1 = text_1.getText();/读出文本框1的内容if(s_0.equals(1) | s_0.equals(2) | s_0.equals(3) |s_0.equals(4) |s_0.equals(5) |s_0.equals(6) |s_0.equals(7) |s_0.equals(8) |s_0.equals(9) |s_0.equals(0)if(n%2=0)s_2=s_2+s_0;text_1.setText(s_2);/如果这个时候没有输入 运算符 则直接将单击的东西连接在s_2上 并显示在s_2上n_1=(Float.valueOf(s_2).floatValue();/在没有输入运算符的时候将数值记录在n_1上if(n%2=1)s_3=s_3+s_0;text_1.setText(s_3);/如果这个时候输入了运算符 则直接将单击的东西连接在s_2上 并显示在s_2上n_2=(Float.valueOf(s_3).floatValue();/在输入了运算符的时候将数值记录在n_2上if(s_0.equals(+)n=n+1;c=+;/text_1.setText(); if(s_0.equals(-)n=n+1;c=-;/text_1.setText();if(s_0.equals(*)n=n+1;c=*;/text_1.setText();if(s_0.equals(/)n=n+1;c=/;/text_1.setText();if(s_0.equals(=)n=n+1;s_3=;if(c=+)n_1=n_1+n_2;s_1=Double.toString(n_1);if(c=-)n_1=n_1-n_2;s_1=Double.toString(n_1);if(c=*)n_1=n_1*n_2;s_1=Double.toString(n_1);if(c=/)n_1=n_1/n_2;s_1=Double.toString(n_1);text_1.setText(s_1); if(s_0.equals(清除)c=1;n_1=0;n_2=0;s_1=;s_2=;text_1.setText();public void windowActivated(WindowEvent arg0) / TODO Auto-generated method stubpublic void windowClosed(WindowEvent arg0) public void windowClosing(WindowEvent arg0) Window w=(Window)arg0.getSource();setVisible(false);w.dispose();public void windowDeactivated(WindowEvent arg0) / TODO Auto-generated method stubpublic void windowDeiconified(WindowEvent arg0) / TODO Auto-generated method stubpublic void windowIconified(WindowEvent arg0) / TODO Auto-generated method stubpublic void windowOpened(WindowEvent arg0) / TODO Auto-generated metho
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论