1、java计算器小程序Myeclipse环境下Java语言编写的计算器小程序 源代码 /程序的主要部分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
2、.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
3、;/记录输入的符号 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);/实例化并出示话为0 pan_1=new Panel();/实例化 pan_2
4、=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.addAc
5、tionListener(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.eq
6、uals(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)
7、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;
8、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;
9、s_1=; s_2=; text_1.setText(); public void windowActivated(WindowEvent arg0) / TODO Auto-generated method stub public void windowClosed(WindowEvent arg0) public void windowClosing(WindowEvent arg0) Window w=(Window)arg0.getSource(); setVisible(false); w.dispose(); public void windowDeactivated(Window
10、Event arg0) / TODO Auto-generated method stub public void windowDeiconified(WindowEvent arg0) / TODO Auto-generated method stub public void windowIconified(WindowEvent arg0) / TODO Auto-generated method stub public void windowOpened(WindowEvent arg0) / TODO Auto-generated method stub /这是主函数部分package
11、 pkg_1;import javax.swing.JOptionPane;public class cacalator_1 public static void main(String args) cacalator cac_1=new cacalator(); import java.awt.*;import javax.swing.*;import javax.swing.event.*;import java.awt.event.*;class Calculator extends JFrame implements ActionListener JPanel panel, panel
12、1, panel2, panel3; JLabel labelSpace; JButton buttonCe; JButton button; JButton buttonDot,buttonAdd,buttonSub,buttonMul,buttonDiv; JButton buttonEqual; JTextField textAnswer; boolean clickable; double vard,answerd; short key = 0; int times = 0; public Calculator() super(计算器); clickable = true; answe
13、rd = 0; textAnswer = new JTextField(20); textAnswer.setText(); textAnswer.setEditable(false); panel = new JPanel(); Container w1Container=this.getContentPane(); panel1 = new JPanel(); panel2 = new JPanel(); panel.setLayout(new BorderLayout(); panel.add(textAnswer,BorderLayout.CENTER); panel.add(pane
14、l1,BorderLayout.SOUTH); panel1.setLayout(new BorderLayout(); labelSpace = new JLabel( ); buttonCe = new JButton(Ce); buttonCe.addActionListener(this); panel1.add(panel2,BorderLayout.NORTH); panel2.setLayout(new FlowLayout(FlowLayout.RIGHT); panel2.add(buttonCe); panel3 = new JPanel(); panel1.add(pan
15、el3,BorderLayout.CENTER); button = new JButton10; for (int i = 0; i button.length; i+) buttoni = new JButton(Integer.toString(i); buttonDot = new JButton(.); buttonAdd = new JButton(+); buttonSub = new JButton(-); buttonMul = new JButton(*); buttonDiv = new JButton(/); buttonEqual = new JButton(=);
16、panel3.setLayout(new GridLayout(4,4); panel3.add(button7); button7.addActionListener(this); panel3.add(button8); button8.addActionListener(this); panel3.add(button9); button9.addActionListener(this); panel3.add(buttonMul); buttonMul.addActionListener(this); panel3.add(button4); button4.addActionList
17、ener(this); panel3.add(button5); button5.addActionListener(this); panel3.add(button6); button6.addActionListener(this); panel3.add(buttonSub); buttonSub.addActionListener(this); panel3.add(button1); button1.addActionListener(this); panel3.add(button2); button2.addActionListener(this); panel3.add(but
18、ton3); button3.addActionListener(this); panel3.add(buttonDiv); buttonDiv.addActionListener(this); panel3.add(button0); button0.addActionListener(this); panel3.add(buttonDot); buttonDot.addActionListener(this); panel3.add(buttonAdd); buttonAdd.addActionListener(this); panel3.add(buttonEqual); buttonE
19、qual.addActionListener(this); w1Container.add(panel); this.setSize(300,205); this.setVisible(true); public void actionPerformed(ActionEvent event) Object temp = event.getSource(); try for (int i = 0; i = 9; i+) if (temp = buttoni & clickable = true) textAnswer.setText(textAnswer.getText() + Integer.
20、toString(i); if (temp = buttonDot & clickable = true) boolean isDot = false; if (textAnswer.getText().length() = 0) isDot = true; for (int i = 0; i 0) vard = Double.parseDouble(textAnswer.getText(); if (key = 1) answerd += vard; textAnswer.setText(Double.toString(answerd); if (key = 2) answerd -= va
21、rd; textAnswer.setText(Double.toString(answerd); if (key = 3) answerd *= vard; textAnswer.setText(Double.toString(answerd); if (key = 4) if (vard = 0) textAnswer.setText(除数不能为零); clickable = false; else answerd /= vard; textAnswer.setText(Double.toString(answerd); if (temp = buttonCe) vard = answerd = times = 0; textAnswer.setText(); clickable = true; catch(Exception e) textAnswer.setText(非法操作); clickable = false; public static void main(String args) Calculator calculator = new Calculator();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1