java实现简单计算器

学习完java组件与事件处理,写了个简单的计算器。事件处理需要向发生事件源的组件注册监视器,产生事件源后将事件对象传递给监视器,然后监视器调用对应的方法处理事件。

package test;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;


public class aa {	
	Button deng = new Button("   =    ");	
	TextField  tx1 = new TextField(8);//创建相应的组件
	TextField  tx2 = new TextField(8);
	TextField  tx3 = new TextField(8);
	Choice list = new Choice();	
	public static void main(String[] args) {		
		new aa().init();		
	}	
	public void init(){
		list.add("+");list.add("-");list.add("*");list.add("/");		
		deng.addActionListener(new ActionHandler());		
		Frame f = new Frame();	//声明容器	
		f.setLayout(new FlowLayout());	//设置布局	
		f.add(tx1);
		f.add(list);
		f.add(tx2);
		f.add(deng);
		f.add(tx3);		
		f.setSize(400, 300);
		f.setLocation(500, 350);		
		f.setVisible(true);		
	}
class ActionHandler  implements ActionListener{

	@Override
	public void actionPerformed(ActionEvent e) {		
		/*
		 * 根据符号,进行运算,放置结果,晴空前面输入数据
		 */

		//通过实践可以得到事件源,通过实践源可以得到容器,通过容器可以打得所有的组件。		
		String op1  =tx1.getText();
		String op2 = tx2.getText();		
		double a;
		double b;
		try {
			a = Double.parseDouble(op1);
			b = Double.parseDouble(op2);
		} catch (NumberFormatException e1) {			
			tx3.setText("输入数据不正确!!,重新输入");			
			return;
		}		
		double r = 0.0;		
		String op = list.getSelectedItem();		
		char c = op.charAt(0);		
		switch (c) {
		case '+':
			r = a+b;
			break;
		case '-':
			r = a-b;
			break;
		case '*':
			r = a*b;
			break;
		case '/':
			r = a/b;
			break;
		}		
		tx3.setText(r+"");		
		tx1.setText("");
		tx2.setText("");		
	}	
}
}










  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值