我开发了一个简单的计算器,我遇到了问题。当我输入计算值时,第一个数字仅被解析。例如,如果输入5 + 3,那么结果将是5.如何解决这个问题?感谢任何答案。
我的代码:
String[] val = mInputVal.getText().toString().split("\\+");
try{
inputNum1 = Double.parseDouble(val[0]);
inputNum2 = Double.parseDouble(strVal);
}catch (NumberFormatException e){}
答案 0 :(得分:2)
inputNum2 = Double.parseDouble(val[1]);
?
答案 1 :(得分:2)
对于第二个索引,只需执行以下操作:inputNum2 = Double.parseDouble(val[1]);
或确保strVal = val [1]。并确保字符串正确分割。发生的事情是,val中只有一个字符串,因为val [1]给你ArrayIndexOutOfBoundException
。希望有所帮助。
答案 2 :(得分:0)
问题是解析器解析字符串直到第一个非数字,你有“3”。所以你应该打电话给
inputNum2 = Double.parseDouble(val[1].trim());