计算器的一个小问题
我想问一下,最后做的那个计算器,为甚么我一开始按等号就退出了,这是怎么回事?坐等大神。
我想问一下,最后做的那个计算器,为甚么我一开始按等号就退出了,这是怎么回事?坐等大神。
2016-08-02
String exp = et_input.getText().toString();
if (exp==null||exp.equals("")) {
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);
double d1 =Double.parseDouble(s1);
double d2 =Double.parseDouble(s2);
// if (exp==null||exp.equals("")) {
// return ;
// }将getResult()中第一个判断exp的分支语句提到String exp = et_input.getText().toString();这一句的紧下面。
再说一下你原先代码的错误,照你原来的写法如果exp==null,程序往下执行到String s1 =exp.substring(0, exp.indexOf(" "));这一句就会直接报空指针。因为null是无法调用函数的。
举报