计算器的一个小问题
我想问一下,最后做的那个计算器,为甚么我一开始按等号就退出了,这是怎么回事?坐等大神。
我想问一下,最后做的那个计算器,为甚么我一开始按等号就退出了,这是怎么回事?坐等大神。
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是无法调用函数的。
举报