计算器程序设计.doc_第1页
计算器程序设计.doc_第2页
计算器程序设计.doc_第3页
计算器程序设计.doc_第4页
计算器程序设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

计算器程序设计代码:/* * * */ import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.Vector;public class This_number_too_big String str1=0; /运算数1 初值一定为0 为了程序的安全 String str2=0; /运算数2 String fh=+; /运算符 String jg=;/结果 /状态开关 重要 int k1=1;/开关1 用于选择输入方向 将要写入str2或 str2 int k2=1;/开关2 符号键 次数 k21说明进行的是2+3-9+8 这样的多符号运算 int k3=1;/开关3 str1 是否可以被清0 =1时可以 !=1时不能被清0 int k4=1;/开关4 str2 同上 int k5=1;/开关5 控制小数点可否被录入 =1时可以 !=1 输入的小数点被丢掉 JButton jicunqi; /寄存器 记录 是否连续按下符号键 Vector vt=new Vector(20,10); JFrame frame=new JFrame(sunshine-计算器); JTextField jg_TextField=new JTextField(jg,20);/20列 JButton clear_Button=new JButton(清除); JButton button0=new JButton(0); JButton button1=new JButton(1); JButton button2=new JButton(2); JButton button3=new JButton(3); JButton button4=new JButton(4); JButton button5=new JButton(5); JButton button6=new JButton(6); JButton button7=new JButton(7); JButton button8=new JButton(8); JButton button9=new JButton(9); JButton button_Dian=new JButton(.); JButton button_jia=new JButton(+); JButton button_jian=new JButton(-); JButton button_cheng=new JButton(*); JButton button_chu=new JButton(/); JButton button_dy=new JButton(=); / public static void main(String args) Tuo tuo=new Tuo(); / Tuo() button0.setMnemonic(KeyEvent.VK_0);/等效键 /其它 等效键 略, jg_TextField.setHorizontalAlignment(JTextField.RIGHT );/文本框 右对齐 JPanel pan=new JPanel(); pan.setLayout(new GridLayout(4,4,5,5);/四行四列 边距为5像素 pan.add(button7); pan.add(button8); pan.add(button9); pan.add(button_chu); pan.add(button4); pan.add(button5); pan.add(button6); pan.add(button_cheng); pan.add(button1); pan.add(button2); pan.add(button3); pan.add(button_jian); pan.add(button0); pan.add(button_Dian); pan.add(button_dy); pan.add(button_jia); pan.setBorder(BorderFactory.createEmptyBorder(5,5,5,5);/pan对象的边距 JPanel pan2=new JPanel(); pan2.add(jg_TextField); JPanel pan3=new JPanel(); /我不会设置 按钮的大小 pan3.setLayout(new FlowLayout(); pan3.add(clear_Button); /clear_Button.setSize(10,10);/设置清零按钮的大小 吗的 不好使 ! frame.setLocation(300, 200); /主窗口 出现在位置 frame.setResizable(false); /不能调大小 frame.getContentPane().setLayout(new BorderLayout(); frame.getContentPane().add(pan2,BorderLayout.NORTH); frame.getContentPane().add(pan,BorderLayout.CENTER); frame.getContentPane().add(pan3,BorderLayout.SOUTH); frame.pack(); frame.setVisible(true); /以上是 控件 和 布局 /下面是事件处理 程 序 /- 数 字 键 - class JianTing implements ActionListener public void actionPerformed(ActionEvent e) String ss=(JButton)e.getSource().getText(); jicunqi=(JButton)e.getSource(); vt.add(jicunqi); if (k1=1) if(k3=1) str1=; k5=1;/还原开关k5状态 str1=str1+ss; /k2=1; k3=k3+1; /System.out.println(str1); jg_TextField.setText(str1);/显示 else if(k1=2) if (k4=1) str2=; k5=1; /还原开关k5状态 str2=str2+ss; /k2=2; k4=k4+1; /测试/ jg_TextField.setText(str2); /符 号 class JianTing_fh implements ActionListener public void actionPerformed(ActionEvent e) String ss2=(JButton)e.getSource().getText(); jicunqi=(JButton)e.getSource(); vt.add(jicunqi); if(k2=1) k1=2;/开关 k1 为1时,向数1写 为2时,向数2写 k5=1; fh=ss2; k2=k2+1;/按符号键的次数 else int a=vt.size(); JButton c=(JButton)vt.get(a-2); if(!(c.getText().equals(+)&!(c.getText().equals(-)&!(c.getText().equals(*)&!(c.getText().equals(/) /if(!(vt.get(a-2).getText().equals(-)|!(vt.get(a-2).getText().equals(+)|!(vt.get(a-2).getText().equals(*)|!(vt.get(a-2).getText().equals(/) yuns(); str1=jg; k1=2;/开关 k1 为1时,向数1写 为2时,向数2写 k5=1; k4=1; fh=ss2; k2=k2+1; /清除 class JianTing_clear implements ActionListener public void actionPerformed(ActionEvent e) jicunqi=(JButton)e.getSource(); vt.add(jicunqi); k5=1; k2=1; k1=1; k3=1; k4=1; str1=0; str2=0; fh=; jg=; jg_TextField.setText(jg); vt.clear(); /-等 于 - class JianTing_dy implements ActionListener public void actionPerformed(ActionEvent e) jicunqi=(JButton)e.getSource(); vt.add(jicunqi); yuns(); k1=1; /还原开关k1状态 /str1=jg; k2=1; k3=1;/还原开关k3状态 k4=1; /还原开关k4状态 str1=jg; /为7+5=12 +5=17 这种计算做准备 /-小数点 - class JianTing_xiaos implements ActionListener public void actionPerformed(ActionEvent e) jicunqi=(JButton)e.getSource(); vt.add(jicunqi); if(k5=1) String ss2=(JButton)e.getSource().getText(); if (k1=1) if(k3=1) str1=; k5=1; /还原开关k5状态 str1=str1+ss2; /k2=1; k3=k3+1; /System.out.println(str1); jg_TextField.setText(str1);/显示 else if(k1=2) if (k4=1) str2=; k5=1; /还原开关k5状态 str2=str2+ss2; /k2=2; k4=k4+1; /测试/ jg_TextField.setText(str2); k5=k5+1; / /注册 监听器 JianTing_dy jt_dy=new JianTing_dy(); JianTing jt= new JianTing();/临听数字键 JianTing_fh jt_fh= new JianTing_fh();/临 听符 号键 JianTing_clear jt_c=new JianTing_clear(); /清除键 JianTing_xiaos jt_xs=new JianTing_xiaos();/ 小数点 键 button7.addActionListener(jt); button8.addActionListener(jt); button9.addActionListener(jt); button_chu.addActionListener(jt_fh); button4.addActionListener(jt); button5.addActionListener(jt); button6.addActionListener(jt); button_cheng.addActionListener(jt_fh); button1.addActionListener(jt); button2.addActionListener(jt); button3.addActionListener(jt); button_jian.addActionListener(jt_fh); button0.addActionListener(jt); button_Dian.addActionListener(jt_xs); button_dy.addActionListener(jt_dy); button_jia.addActionListener(jt_fh); clear_Button.addActionListener(jt_c); /关闭事件处理程序 frame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); /-计 算- public void yuns() double a2;/运算数1 double b2;/运算数2 String c=fh;/ 运算符 double jg2=0 ;/结果 if (c.equals() /System.out.println(请输入运算符); jg_TextField.setText(请输入运算符); else System.out.println(str1:+str1);/调试时 使 用 Syste

温馨提示

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

评论

0/150

提交评论