Java Android双变量计算正在使应用程序崩溃

Java Android双变量计算正在使应用程序崩溃,java,android,calculator,Java,Android,Calculator,我是android应用程序开发的新手,只是为了好玩,我正在尝试用自定义键盘创建计算器应用程序。我的应用程序中几乎所有功能都正常工作。只是最后一步不起作用 因此,当我尝试使用+、-、*或/进行计算时,得到的最终字符串如下所示 1+2*3/1-2(实际为字符串格式) 我通过转换将其存储在变量中 双d=新双d(字符串“1+2*3/1-2”) 如果我只是用普通java打印,System.out.println(d) 我得到的答案是“5.0”。我不介意这个答案。但是当我试着用下面的代码打印出来时

我是android应用程序开发的新手,只是为了好玩,我正在尝试用自定义键盘创建计算器应用程序。我的应用程序中几乎所有功能都正常工作。只是最后一步不起作用

因此,当我尝试使用+、-、*或/进行计算时,得到的最终字符串如下所示

1+2*3/1-2(实际为字符串格式)

我通过转换将其存储在变量中

双d=新双d(字符串“1+2*3/1-2”)

如果我只是用普通java打印,
System.out.println(d)

我得到的答案是“5.0”。我不介意这个答案。但是当我试着用下面的代码打印出来时

        ((Button)findViewById(R.id.cal_EQ)).setOnClickListener(new View.OnClickListener(){



 @Override
 public void onClick(View v) {


if(inputKB.getText().toString() != null && inputKB.getText().toString().length() > 0) {
   calcDisplay.setText(String.valueOf(new Double((inputKB.getText().toString()))));
                }
            }
        });
应用程序崩溃了。那个么我应该怎么做才能得到像5.0这样的结果并将其显示到屏幕上呢

感谢您的时间和提前帮助。;)


Thanx;)

字符串构造函数中不显式支持Math,因此这将依赖于JRE。Android JRE会删除任何支持未记录特性的代码,这并不奇怪。有第三方库,如JEval、MVEL或Jep(许可)。

您可以通过在开始和结束处添加括号来尝试

calcDisplay.setText(String.valueOf(new Double(("("+inputKB.getText().toString()+")"))));

如您所见,“5+5”
不是有效数字,那么我该怎么办?caz你们可以看到我正在把字符串转换成双so。
calcDisplay.setText(String.valueOf(new Double((inputKB.getText().toString()))));
calcDisplay.setText(String.valueOf(new Double(("("+inputKB.getText().toString()+")"))));