java编写的计算器01

来源:互联网 发布:viso软件 编辑:程序博客网 时间:2024/06/06 06:57
import java.applet.*;import java.awt.*;import java.awt.event.*;import java.lang.Double;public class jsq extends Applet{ String str1=null; String str2=null; String str3=null; int xz=0,lx=0;  int sz=0,qd=0;  int xl=0;  int pv=0;  Button a0=new Button("0"); Button a1=new Button("1"); Button a2=new Button("2"); Button a3=new Button("3"); Button a4=new Button("4"); Button a5=new Button("5"); Button a6=new Button("6"); Button a7=new Button("7"); Button a8=new Button("8"); Button a9=new Button("9"); Button b1=new Button("+"); Button b2=new Button("-"); Button b3=new Button("*"); Button b4=new Button("/"); Button b5=new Button("="); Button b6=new Button("+/-"); Button b7=new Button("."); Button b8=new Button("C");   TextField pw=new TextField();     public void init(){  this.setSize(200,200);  this.setLayout(new BorderLayout());  Panel p1=new Panel();  p1.setLayout(new GridLayout(4,4));  Panel p2=new Panel();  p2.setLayout(new GridLayout(1,1));  Panel p3=new Panel();  p3.setLayout(new GridLayout(1,2));  p1.add(a7);  p1.add(a8);  p1.add(a9);  p1.add(b1);  p1.add(a4);  p1.add(a5);  p1.add(a6);  p1.add(b2);  p1.add(a1);  p1.add(a2);  p1.add(a3);  p1.add(b3);  p1.add(a0);    p1.add(b6);  p1.add(b7);  p1.add(b4);      p2.add(pw);    p3.add(b5);  p3.add(b8);    pw.setText("0");  b5.setBackground(Color.gray);  this.add("Center",p1);  this.add("North",p2);  this.add("South",p3);    a0.addActionListener(new zr());  a1.addActionListener(new zr());  a2.addActionListener(new zr());  a3.addActionListener(new zr());  a4.addActionListener(new zr());  a5.addActionListener(new zr());  a6.addActionListener(new zr());  a7.addActionListener(new zr());  a8.addActionListener(new zr());  a9.addActionListener(new zr());  b1.addActionListener(new lr());  b2.addActionListener(new lr());  b3.addActionListener(new lr());  b4.addActionListener(new lr());  b5.addActionListener(new lr());  b6.addActionListener(new lr());  b7.addActionListener(new lr());  b8.addActionListener(new lr());   }  class zr implements ActionListener{      public void actionPerformed(ActionEvent e){        if(e.getSource()==a0){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"0");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("0");pv=0;}     sz=1;     }            if(e.getSource()==a1){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"1");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("1");pv=0;}     else if(pw.getText().equals("0"))pw.setText("1");     sz=1;    }    if(e.getSource()==a2){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"2");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("2");pv=0;}     else if(pw.getText().equals("0"))pw.setText("2");     sz=1;    }    if(e.getSource()==a3){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"3");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("3");pv=0;}     else if(pw.getText().equals("0"))pw.setText("3");     sz=1;    }    if(e.getSource()==a4){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"4");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("4");pv=0;}     else if(pw.getText().equals("0"))pw.setText("4");     sz=1;    }    if(e.getSource()==a5){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"5");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("5");pv=0;}     else if(pw.getText().equals("0"))pw.setText("5");     sz=1;    }    if(e.getSource()==a6){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"6");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("6");pv=0;}     else if(pw.getText().equals("0"))pw.setText("6");     sz=1;    }    if(e.getSource()==a7){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"7");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("7");pv=0;}     else if(pw.getText().equals("0"))pw.setText("7");     sz=1;    }    if(e.getSource()==a8){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"8");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("8");pv=0;}     else if(pw.getText().equals("0"))pw.setText("8");     sz=1;    }    if(e.getSource()==a9){     if(!pw.getText().equals("0")&&pv==0)pw.setText(pw.getText()+"9");     else if(!pw.getText().equals("0")&&pv==1){pw.setText("9");pv=0;}     else if(pw.getText().equals("0"))pw.setText("9");     sz=1;    }               }  }  class lr implements ActionListener{   public void actionPerformed(ActionEvent f){    if(f.getSource()==b8){     pw.setText("0");     str1="0.0";     str2="0.0";     xz=0;     xl=0;     pv=0;    }    if((f.getSource()==b1)&&sz==1){      if(xz==1){     double zn=0.0d;     str1=pw.getText();     double m=Double.valueOf(str1).doubleValue();     double n=Double.valueOf(str2).doubleValue();         if(xl==1)zn=m+n;     else if(xl==2)zn=n-m;     else if(xl==3)zn=m*n;     else if(xl==4)zn=n/m;     pw.setText(""+zn);     }     str2=pw.getText();     pv=1;lx=1;     xl=1;qd=0;     xz=1;     sz=0;    }    if(f.getSource()==b2&&sz==1){     if(xz==1){      double zn=0.0;     str1=pw.getText();     double m=Double.valueOf(str1).doubleValue();     double n=Double.valueOf(str2).doubleValue();         if(xl==1)zn=m+n;     else if(xl==2)zn=n-m;     else if(xl==3)zn=m*n;     else if(xl==4)zn=n/m;     pw.setText(""+zn);     }     str2=pw.getText();          pv=1;lx=1;     xl=2;qd=0;     xz=1;     sz=0;    }    if(f.getSource()==b3&&sz==1){       if(xz==1){      double zn=0.0;     str1=pw.getText();     double m=Double.valueOf(str1).doubleValue();     double n=Double.valueOf(str2).doubleValue();         if(xl==1)zn=m+n;     else if(xl==2)zn=n-m;     else if(xl==3)zn=m*n;     else if(xl==4)zn=n/m;     pw.setText(""+zn);     }     str2=pw.getText();     pv=1;lx=1;     xl=3;qd=0;     xz=1;     sz=0;}    if(f.getSource()==b4&&sz==1){         if(xz==1){      double zn=0.0;     str1=pw.getText();     double m=Double.valueOf(str1).doubleValue();     double n=Double.valueOf(str2).doubleValue();         if(xl==1)zn=m+n;     else if(xl==2)zn=n-m;     else if(xl==3)zn=m*n;     else if(xl==4)zn=n/m;     pw.setText(""+zn);     }     str2=pw.getText();     pv=1;lx=1;     xl=4;qd=0;     xz=1;     sz=0;}    if(f.getSource()==b6){     if(sz==1){double m=Double.valueOf(pw.getText()).doubleValue();     pw.setText(Double.toString(-m));}  }    if(f.getSource()==b7){     if(pv==0&&qd==0)pw.setText(pw.getText()+".");     qd=1;        }    if(f.getSource()==b5){     double zn=0.0;     if(lx==1)str1=pw.getText();     else str2=pw.getText();     pv=1;     xz=0;     double m=Double.valueOf(str1).doubleValue();     double n=Double.valueOf(str2).doubleValue();     if(xl==1)zn=m+n;     else if(xl==2)zn=n-m;     else if(xl==3)zn=m*n;     else if(xl==4)zn=n/m;     pw.setText(""+zn);     lx=0;qd=0;    }   }  }   class TextFieldKeyListener extends KeyAdapter{   public void keyTyped(KeyEvent e){       }  }}
原创粉丝点击