java编写的计算器02

来源:互联网 发布:js uikit autocomplete 编辑:程序博客网 时间:2024/05/29 19:48

import java.awt.*; import javax.swing.*; import java.awt.event.*;public class jj { static JFrame f=new JFrame("计算器");  static JTextField text1=new JTextField("0.");  static String source="";  static String cal="";  static String object="";  static boolean flag=false;  static boolean flag1=true;  static boolean flag2=false;  public void init()  {  try  {  Container c=f.getContentPane();  JPanel pan1=new JPanel();  JButton b1=new JButton("1");  JButton b2=new JButton("2");  JButton b3=new JButton("3");  JButton b4=new JButton("4");  JButton b5=new JButton("5");  JButton b6=new JButton("6");  JButton b7=new JButton("7");  JButton b8=new JButton("8");  JButton b9=new JButton("9");  JButton b0=new JButton("0");  JButton b11=new JButton("+");  JButton b12=new JButton("-");  JButton b13=new JButton("*");  JButton b14=new JButton("/");  JButton b15=new JButton(".");  JButton b16=new JButton("=");  JButton bclar=new JButton("清零");  text1.setHorizontalAlignment(JTextField.RIGHT);  c.add(text1,"North");  c.add(pan1);  A aa=new A();  Result re=new Result();  Opertion op=new Opertion();  Clar cl=new Clar();  b1.addActionListener(aa);  b2.addActionListener(aa);  b3.addActionListener(aa);  b4.addActionListener(aa);  b5.addActionListener(aa);  b6.addActionListener(aa);  b7.addActionListener(aa);  b8.addActionListener(aa);  b9.addActionListener(aa);  b0.addActionListener(aa);  b11.addActionListener(op);  b12.addActionListener(op);  b13.addActionListener(op);  b14.addActionListener(op);  b16.addActionListener(re);  b15.addActionListener(aa);  bclar.addActionListener(cl);  pan1.add(b1);  pan1.add(b2);  pan1.add(b3);  pan1.add(b11);  pan1.add(b4);  pan1.add(b5);  pan1.add(b6);  pan1.add(b12);  pan1.add(b7);  pan1.add(b8);  pan1.add(b9);  pan1.add(b13);  pan1.add(b0);  pan1.add(b15);  pan1.add(b16);  pan1.add(b14);  pan1.add(bclar);  f.setSize(200,220);  f.setVisible(true);  }  catch(Exception e)  {  System.out.println(e.getMessage());  }

 }  class A implements ActionListener  {  public void actionPerformed(ActionEvent e)  {  String a=text1.getText();  String s=e.getActionCommand();  if(a.equals("0.")||a.equals("+")||a.equals("-")||a.equals("*")||a.equals("/"))  text1.setText(s);  else {  if(flag2)  {  text1.setText(s);  flag2=false;  }  else  text1.setText(a+s);

 }  }  }  class Opertion implements ActionListener  {  public void actionPerformed(ActionEvent e)  {  cal=e.getActionCommand();  if(flag1==true)  source=text1.getText();  text1.setText(cal);  flag1=false;  flag=true;  }  }  class Result implements ActionListener  {  public void actionPerformed(ActionEvent e)  {  double num1;  num1=Double.parseDouble(source);  object=text1.getText();  double num2;  num2=Double.parseDouble(object);  double result=0;  if(cal.equals("+"))  result=num1+num2;  if(cal.equals("-"))  result=num1-num2;  if(cal.equals("*"))  result=num1*num2;  if(cal.equals("/"))  if(num2==0)  text1.setText("除数不能为0");  else  result=num1/num2;  String s1=Double.toString(result);  text1.setText(s1);  flag1=true;  flag2=true;  }  }  class Clar implements ActionListener  {  public void actionPerformed(ActionEvent e)  {  text1.setText("0.");  }  }

 public static void main(String[] args)  {  jj count=new jj();  count.init();  }

 public void windowClosing(WindowEvent e){  System.exit(1);  }  public void windowOpened(WindowEvent e){}  public void windowIconified(WindowEvent e){}  public void windowDeiconified(WindowEvent e){}  public void windowClosed(WindowEvent e){}  public void windowActivated(WindowEvent e){}  public void windowDeactivated(WindowEvent e){}  }

 

原创粉丝点击