Java 如何检查给定表达式是否为有效的数学表达式?
我正在android studio中使用java制作一个android计算器。所有功能都运行良好。但是,如果字符串不包含有效的数学表达式(即,它不应该包含其他字符,也不像2*3/+4),我不希望buttonEQL工作Java 如何检查给定表达式是否为有效的数学表达式?,java,android,Java,Android,我正在android studio中使用java制作一个android计算器。所有功能都运行良好。但是,如果字符串不包含有效的数学表达式(即,它不应该包含其他字符,也不像2*3/+4),我不希望buttonEQL工作 我是初学者 查看了Dijkstra的堆栈算法?库不支持在不执行表达式的情况下验证表达式。如果你需要这种功能,你应该找一个不同的库。另一个是什么@安德烈亚斯,“另一个”是什么?有很多表达式库,你只需要自己研究找到它们,然后决定哪一个最符合你的需要。不要在这里问,因为。 buttonE
我是初学者 查看了Dijkstra的堆栈算法?库不支持在不执行表达式的情况下验证表达式。如果你需要这种功能,你应该找一个不同的库。另一个是什么@安德烈亚斯,“另一个”是什么?有很多表达式库,你只需要自己研究找到它们,然后决定哪一个最符合你的需要。不要在这里问,因为。
buttonEQL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (result.getText().length()>0){
String expression = result.getText().toString();
Double res= new DoubleEvaluator().evaluate(expression);
result.setText(res.toString());
}
else Toast.makeText(getApplicationContext(),"no no no ",Toast.LENGTH_SHORT).show();
}
});