找传奇、传世资源到传世资源站!

android设计一款简易计算器

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

android设计一款简易计算器
from clipboard
  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("");
        }
    }
}

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复