计算器简单实例

import java.awt.BorderLayout;  
import java.awt.Button;    
import java.awt.Frame;  
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.WindowAdapter;  
import java.awt.event.WindowEvent;  
  
  
public class Calcuate extends WindowAdapter implements ActionListener   
{  
    String s ;  
    TextField t;  
    double num1;  
    double num2;  
    int x;  
      
    public void windowClosing(WindowEvent e)  {System.exit(0);}  
    public void actionPerformed(ActionEvent e)  
    {  
        if(e.getActionCommand().equals("C"))  //如果按键c的话 
        t.setText("");  //输出空格
        else if(e.getActionCommand().equals("+"))//按键是+的话  
        {  
            s = t.getText();  
            num1 = Double.parseDouble(s);  
            t.setText("");  
            x=0;  
        }  
        else if(e.getActionCommand().equals("-"))  
        {  
            s = t.getText();  
            num1 = Double.parseDouble(s);  
            t.setText("");  
            x=1;  
        }  
        else if(e.getActionCommand().equals("*"))  
         {  
                s=t.getText();  
                num1=Double.parseDouble(s);  
                t.setText("");  
                x=2;  
          }  
         else if(e.getActionCommand().equals("%"))  
            {  
                s=t.getText();  
                num1=Double.parseDouble(s);  
                t.setText("");  
                x=3;  
            }  
         else if(e.getActionCommand().equals("="))  
         {  
             s = t.getText();  
             num2 = Double.parseDouble(s);  
             switch(x)  
             {  
             case  0 : t.setText("" + (num1 + num2));break;  
             case  1 : t.setText("" + (num1 - num2));break;  
             case  2 : t.setText("" + (num1 * num2));break;  
             case  3 : t.setText("" + (num1 % num2));break;  
             }  
              
         }  
         else if(e.getActionCommand().equals("."))  
         {  
             if(t.getText().trim().indexOf('.')!=-1){}  
             else  
             {  
                 s = t.getText();  
                 s = s + e.getActionCommand();  
                 t.setText(s);  
                   
             }  
         }  
          
         else  
         {  
             String s = t.getText();  
             s = s + e.getActionCommand();  
             t.setText(s);  
         }  
          
          
    }  
    public Calcuate()  
    {  
        Frame f = new Frame("我的计算器");  
                  
        t = new TextField();  
        f.add(t,BorderLayout.NORTH);  
        f.setSize(300,270);  
        Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;  
          
        f.addWindowListener(this);  
          
         b0= new Button("MC");  
         b1= new Button("MR");  
         b2= new Button("MS");  
         b3= new Button("M+");  
         b4= new Button("M-");  
         b5= new Button("<-");  
         b6= new Button("CE");  
         b7= new Button("C");  
         b8= new Button("+-");  
         b9= new Button("sqrt");  
         b10=new Button("+");  
         b11=new Button("-");  
         b12=new Button("*");  
         b13=new Button("/");  
         b14=new Button("%");  
         b15=new Button(".");  
         b16=new Button("1/x");  
         b17=new Button("=");  
         Button b[]=new Button[10];  
         for(int i=0;i<b.length;i++)  
            b[i]=new Button(""+i);  
           
           
         b[0].addActionListener(this);  
         b[1].addActionListener(this);  
         b[2].addActionListener(this);  
         b[3].addActionListener(this);  
         b[4].addActionListener(this);  
         b[5].addActionListener(this);  
         b[6].addActionListener(this);  
         b[7].addActionListener(this);  
         b[8].addActionListener(this);  
         b[9].addActionListener(this);  
         b7.addActionListener(this);  
         b10.addActionListener(this);  
         b11.addActionListener(this);  
         b12.addActionListener(this);  
         b14.addActionListener(this);  
         b17.addActionListener(this);  
         b15.addActionListener(this);  
           
          
           Panel p = new Panel();  
           p.setLayout(new GridLayout(5,5,5,5));  
           p.add(b0);p.add(b1);p.add(b2);p.add(b3);p.add(b4);  
            p.add(b5);p.add(b6);p.add(b7);p.add(b8);p.add(b9);  
            p.add(b[7]);p.add(b[8]);p.add(b[9]);p.add(b13);p.add(b14);  
            p.add(b[4]);p.add(b[5]);p.add(b[6]);p.add(b12);p.add(b16);  
            p.add(b[1]);p.add(b[2]);p.add(b[3]);p.add(b11);p.add(b10);  
         f.add(p,BorderLayout.CENTER);  
           
         Panel p1 = new Panel();  
         p1.setLayout(new GridLayout(1,3,5,5));  
         p1.add(b[0]);p1.add(b15);p1.add(b17);  
         f.add(p1,BorderLayout.SOUTH);  
           
         f.setVisible(true);  
    }  
      
    public static void main(String[] args)  
    {  
        @SuppressWarnings("unused")
Calcuate cc = new Calcuate();  
          
    }  
      
}     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值