本文实例为大家分享了Android实现简易的计算器的具体代码,供大家参考,具体内容如下
布局(activity_main.xml)
响应及计算(MainActivity)
package com.mylayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText editText; //数字0-9 private Button b1; private Button b2; private Button b3; private Button b4; private Button b5; private Button b6; private Button b7; private Button b8; private Button b9; private Button b0; private Button b00; //运算符 private Button per; private Button add;// + private Button sub; // - private Button mul; // * private Button div; // / private Button dot; //小数点 private Button equ; // = private boolean back; //退格 private boolean clear_bool= true;//清空 private boolean dot_flag1 = true; private boolean dot_flag2 = true; @Override public void onClick(View view) { String input = editText.getText().toString(); switch (view.getId()){ case R.id.b0: case R.id.b1: case R.id.b2: case R.id.b3: case R.id.b4: case R.id.b5: case R.id.b6: case R.id.b7: case R.id.b8: case R.id.b9: case R.id.b00: if(dot_flag1)dot_flag2 = true; if(clear_bool) { clear_bool = false; editText.setText(""+((Button)view).getText()); } else { editText.setText(input + ((Button)view).getText());//结果集就为本身 } break; case R.id.dot: if(dot_flag1&&dot_flag2) { dot_flag1 = false; dot_flag2 = false; editText.setText(input + ((Button)view).getText()); } break; case R.id.per: case R.id.plus: case R.id.sub: case R.id.mul: case R.id.div: dot_flag1 = true; if(clear_bool) { clear_bool = false; input = ""; editText.setText(""); } editText.setText(input + ((Button)view).getText()+" "); break; case R.id.back: //退格 if(input != null || !input.equals("")) { if(input.length()>1) { editText.setText(input.substring(0, input.length() - 1));// } else{ clear_bool =true; editText.setText("0"); } } break; case R.id.clear: //清空 editText.setText("0"); clear_bool = true; break; case R.id.equ: calculation(); break; } } //计算结果 private void calculation() { String s1 = editText.getText().toString(); //获取字符串 if (s1 == null){ return; } boolean flag = false; if(s1.charAt(0)=='-') { s1 = s1.substring(1); flag = true; } String []num = s1.split("[-÷×+]"); //分割字符串获得各个数字 double []n = new double[num.length]; for(int i=0;i1) { for (int j = 0; j
测试
关于计算器的精彩文章请查看《计算器专题》 ,更多精彩等你来发现!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。