日期:2014-05-20  浏览次数:20607 次

Java计算器无法计算小数之间的运算
本人刚学,编写的简单的计算器程序,但就是无法进行小数的运算,一用小数就崩溃,没有办法,求解答方法。下面是等于号的函数(str表示运算的字符串,比如计算25+26,那么str="25+26"):
public void answer(String str)
{
String [] a=str.split("\\+|\\-|×|÷");
double first=Double.parseDouble(a[0]);
double second=Double.parseDouble(a[1]);
String [] b=str.split("0|1|2|3|4|5|6|7|8|9");
String c=b[a[0].length()]; //C是运算符
char[] d=c.toCharArray();
if(d[0]=='+')
{
double add=first+second;
str=String.valueOf(add);
tf.setText(str);
total="";
}
}

------解决方案--------------------
当然错啊。。
举例 1.1 + 23 时
a[0]=1.1
a[0].length()=3;
而b[0]=空
b[1]=.
b[2]=+
b[3]=空
这能不错吗。