基本信息
源码名称:android设计一款简易计算器
源码大小:18.68M
文件格式:.rar
开发语言:Java
更新时间:2020-06-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 5 元 
   源码介绍
android设计一款简易计算器

  private void getResult() {
        String exp = et_input.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;
        //采用substring(start,end)分离操作数和运算符
        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;
                    Toast.makeText(calculatorActivity.this, "除数不能为0", Toast.LENGTH_LONG).show();
                } else {
                    result = d1 / d2;
                }
            }
            if (!s1.contains(".") && !s2.contains(".") && !op.equals("/")) {
                int r = (int) result;
                et_input.setText(r "");
            } else {
                et_input.setText(result "");
            }
        }
        else if(!s1.equals("")&&s2.equals("")){////操作数s1非空,而s2是空值,就直接输出文本框中的内容
            et_input.setText(exp);
        }
        else if(s1.equals("")&&!s2.equals("")){//S1是空值,S2不为空值
            double d2=Double.parseDouble(s2);//s2强制转换成double 类型
            //四则运算
            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(!s2.contains(".")){
                int r=(int) result;
                et_input.setText(r " ");
            } else{
                et_input.setText(result " ");
            }
        }else{//两个操作数都空,直接输出空值
            et_input.setText("");
        }
    }
}