首页>代码>Android简单计算器程序>/Calculator1/src/com/example/calculator1/MainActivity.java
package com.example.calculator1;

import android.app.Activity;
import android.os.Bundle;
import android.view.*;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements View.OnClickListener{
	 	private Button btn_0;//0���ְ�ť
	    private Button btn_1;//1���ְ�ť
	    private Button btn_2;//2���ְ�ť
	    private Button btn_3;//3���ְ�ť
	    private Button btn_4;//4���ְ�ť
	    private Button btn_5;//5���ְ�ť
	    private Button btn_6;//6���ְ�ť
	    private Button btn_7;//7���ְ�ť
	    private Button btn_8;//8���ְ�ť
	    private Button btn_9;//9���ְ�ť
	    private Button btn_clear;//clear��ť
	    private Button btn_point;//С��㰴ť
	    private Button btn_plus;//+��ť
	    private Button btn_minus;//-��ť
	    private Button btn_multply;//*��ť
	    private Button btn_divide;//��Ű�ť
	    private Button btn_equal;//=��ť
	    private EditText editText;

	    boolean clear_flag;//��ձ�ʶ

	    @Override
	    protected void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.activity_main);

	        btn_0 = (Button) findViewById(R.id.btn_0);
	        btn_1 = (Button) findViewById(R.id.btn_1);
	        btn_2 = (Button) findViewById(R.id.btn_2);
	        btn_3 = (Button) findViewById(R.id.btn_3);
	        btn_4 = (Button) findViewById(R.id.btn_4);
	        btn_5 = (Button) findViewById(R.id.btn_5);
	        btn_6 = (Button) findViewById(R.id.btn_6);
	        btn_7 = (Button) findViewById(R.id.btn_7);
	        btn_8 = (Button) findViewById(R.id.btn_8);
	        btn_9 = (Button) findViewById(R.id.btn_9);
	        btn_clear = (Button) findViewById(R.id.btn_clear);
	        btn_point = (Button) findViewById(R.id.btn_point);
	        btn_plus = (Button) findViewById(R.id.btn_plus);
	        btn_minus = (Button) findViewById(R.id.btn_minus);
	        btn_multply = (Button) findViewById(R.id.btn_multply);
	        btn_divide = (Button) findViewById(R.id.btn_divide);
	        btn_equal = (Button) findViewById(R.id.btn_equal);
	        editText = (EditText) findViewById(R.id.et_input);
	        btn_0.setOnClickListener(this);
	        btn_1.setOnClickListener(this);
	        btn_2.setOnClickListener(this);
	        btn_3.setOnClickListener(this);
	        btn_4.setOnClickListener(this);
	        btn_5.setOnClickListener(this);
	        btn_6.setOnClickListener(this);
	        btn_7.setOnClickListener(this);
	        btn_8.setOnClickListener(this);
	        btn_9.setOnClickListener(this);
	        btn_clear.setOnClickListener(this);
	        btn_point.setOnClickListener(this);
	        btn_plus.setOnClickListener(this);
	        btn_minus.setOnClickListener(this);
	        btn_multply.setOnClickListener(this);
	        btn_divide.setOnClickListener(this);
	        btn_equal.setOnClickListener(this);
	        editText.setFocusable(false);
	    }

	    @Override
	    public void onClick(View view) {
	        String input = editText.getText().toString();
	        switch (view.getId()){
	            case R.id.btn_0:
	            case R.id.btn_1:
	            case R.id.btn_2:
	            case R.id.btn_3:
	            case R.id.btn_4:
	            case R.id.btn_5:
	            case R.id.btn_6:
	            case R.id.btn_7:
	            case R.id.btn_8:
	            case R.id.btn_9:
	            case R.id.btn_point:
	                if(clear_flag){
	                    clear_flag = false;
	                    editText.setText("");
	                }
	                editText.setText(input + ((Button)view).getText());
	                break;
	            case R.id.btn_plus:
	            case R.id.btn_minus:
	            case R.id.btn_multply:
	            case R.id.btn_divide:
	                if(clear_flag){
	                    clear_flag = false;
	                    input = "";
	                    editText.setText("");
	                }
	                editText.setText(input + " " + ((Button)view).getText() + " ");
	                break;
	            case R.id.btn_clear:
	                clear_flag = false;
	                input = "";
	                editText.setText("");
	                break;
	            case R.id.btn_equal:
	                getResult();
	                break;
	        }
	    }

	    //������
	    private void getResult(){
	        String exp = editText.getText().toString();
	        if(exp==null||exp.equals(""))
	            return;
	        if(!exp.contains(" "))
	            return;
	        if(clear_flag){
	            clear_flag = false;
	            return;
	        }
	        clear_flag = true;
	        double result = 0;
	        //�����ǰ������
	        String s1 = exp.substring(0,exp.indexOf(" "));
	        //�����
	        String op = exp.substring(exp.indexOf(" ")+1,exp.indexOf(" ")+2);
	        //�����������
	        String s2 = exp.substring(exp.indexOf(" ")+3);

	        if(!s1.equals("")&&!s2.equals("")) {
	            double d1 = Double.parseDouble(s1);
	            double d2 = Double.parseDouble(s2);
	            if (op.equals("+")) {
	                result = d1 + d2;
	            } else if (op.equals("-")) {
	                result = d1 - d2;
	            } else if (op.equals("*")) {
	                result = d1 * d2;
	            } else if (op.equals("/")) {
	                if (d2 == 0)
	                    result = 0;
	                else
	                    result = d1 / d2;
	            }
	            if (!s1.contains(".") && !s2.contains(".") && !op.equals("/")) {
	                int r = (int) result;
	                editText.setText(r + "");
	            } else
	                editText.setText(result + "");
	        	}else if(!s1.equals("") && s2.equals("")){
	        		editText.setText(exp);
	        	}else if(s1.equals("") && !s2.equals("")){
	        		double d2 = Double.parseDouble(s2);
	        		if (op.equals("+")) {
	        			result = 0 + d2;
	        		} else if (op.equals("-")) {
	        			result = 0 - d2;
	        		} else if (op.equals("*")) {
	        			result = 0;
	        		} else if (op.equals("/")) {
	                    result = 0;
	        		}
	        		if (!s1.contains(".") && !s2.contains(".")) {
	        			int r = (int) result;
	        				editText.setText(r + "");
	        		} else
	        			editText.setText(result + "");
	        	}else {
	        		editText.setText("");
	        	}
	    }
}

最近下载更多
yyyyyyzh  LV8 2023年6月11日
YangYongTao  LV1 2023年4月18日
顶流爱了1里垃圾  LV2 2022年11月19日
hahaxiba  LV1 2022年10月2日
张恺祺  LV6 2022年5月18日
不知归期的故人  LV6 2022年1月5日
aisdjasldsjakd  LV1 2022年1月1日
2017143155  LV12 2021年12月26日
cnyyxh  LV1 2021年12月6日
yuanfen  LV16 2021年11月26日
最近浏览更多
ywwwww28  LV1 9月10日
chenranr  LV10 2024年12月26日
helloworld9856 2024年12月13日
暂无贡献等级
diannian  LV1 2024年9月10日
twilight0428  LV5 2024年8月29日
ttllww 2024年7月1日
暂无贡献等级
南柯寒酥  LV1 2024年6月20日
fei wang 2024年6月18日
暂无贡献等级
万万物 2024年6月8日
暂无贡献等级
lilitu  LV6 2024年5月30日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友