Java简易计算器:加减乘除,清零


/**
 *
 * @author ty4z2008
 */
package work;
import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;


public class work {
 public static void main(String args[]) {
        tmp tmp = new tmp();    //使用函数调用来编写
 }
}
class tmp extends Frame implements ActionListener {
 
 private static final long serialVersionUID = 1L;
 TextField Num1;   //按钮
 TextField Num2;
 TextField Result;
 Button plusBtn;
 Button equalBtn;
 Button clearBtn;
 MenuBar bar =new MenuBar();  //菜单栏
  Menu help=new Menu("帮助");
  Menu about = new Menu("作者");
  Panel p=new Panel();
 
 tmp(){
  Num1 = new TextField(10);
  Num2 = new TextField(10);
  Result = new TextField(20);
  plusBtn = new Button("+");
  equalBtn = new Button("=");
  clearBtn = new Button("清零");
  
  
  setSize(200,200);
   add("South",p);
   setMenuBar(bar); // 设置菜单栏为bar
   bar.add(help);
   bar.add(about);
  setLayout(new FlowLayout());
  
  
  add(Num1);
  add(plusBtn);
  add(Num2);
  add(equalBtn);
  add(Result);
  add(clearBtn);
  
  
  plusBtn.addActionListener(this); //事件监听
  equalBtn.addActionListener(this);
  clearBtn.addActionListener(this);
  help.addActionListener(this);
  about.addActionListener(this);
  
  this.setBounds(200, 200, 500, 200); //设置界面大小
  this.setVisible(true);
  this.setTitle("简易计算器"); //标题
  this.setResizable(true); //处理窗口关闭与最小化
  clearBtn.setForeground(Color.red);   //清零按钮
  validate();
  
  addWindowListener(new WindowAdapter()   
  {
            @Override
    public void windowClosing(WindowEvent e) //关闭事件监听
    {
     System.exit(0);
    }
  }); 
 }

    @Override
 public void actionPerformed(ActionEvent e) {
  if(e.getSource().equals(plusBtn)) {  //按键处理
       if (plusBtn.getLabel().equals("+")){

           plusBtn.setLabel("-");
       }

       else if (plusBtn.getLabel().equals("-")){

          plusBtn.setLabel("*");
       }

       else if(plusBtn.getLabel().equals("*")){

          plusBtn.setLabel("/");
       }else  {
           plusBtn.setLabel("+");
       }
  } else if(e.getSource().equals(equalBtn)) {
   String numOne=Num1.getText();  //数字获取
   String numTwo=Num2.getText();
   float result = 0;
   try{
   if(plusBtn.getLabel().equals("+")){  //运算
   result =Float.parseFloat(numOne)+Float.parseFloat(numTwo);
   }else if(plusBtn.getLabel().equals("-")){
    result =Float.parseFloat(numOne)-Float.parseFloat(numTwo);
   }else if(plusBtn.getLabel().equals("*")){
    result =Float.parseFloat(numOne)*Float.parseFloat(numTwo);
   }else if(plusBtn.getLabel().equals("/")){
    if(Float.parseFloat(numTwo) == 0){
     Result.setText("被除数不能为0,请重新输入!");
     return;
    }
    result =Float.parseFloat(numOne)/Float.parseFloat(numTwo); 
   }
   }catch(Exception exception){              //容错处理
    Result.setText("输入错误,请输入数字");
    return;
   }
   DecimalFormat df = new DecimalFormat("####.00");  //处理两位小数
   result = Float.parseFloat(df.format(result));
   Result.setText(""+result);      //显示结果
  }else if(e.getSource().equals(clearBtn)){   //处理清零
        Num1.setText("0");
       Num2.setText("0");
       Result.setText("0");
   }  
  }
 }


转载于:https://my.oschina.net/websec/blog/138510

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值