java输入数学表达式

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:20:29
当输入的一段字符串,单独处理没个字符,只留下数字和加减乘除的符号
比如输入的是 49 djien osi+ 409 jdi
那么输出的是 49+409

但是在计算这个结果的时候,我是把 当遇到'+'时
把符号前面的相应的int值
和符号后面的int值 进行计算。
但结果却不正确。
能不能解决这样的问题。

当然可以解决的。
正则+键盘监听器
在键盘监听器中监听输入的字符是不是数字,例:
public void keyTyped(KeyEvent e)
{
Pattern p = Pattern.compile("[0-9]");
Matcher m = p.matcher(String.valueOf(e.getKeyChar()));
boolean b = m.matches();
if(!b){
e.consume();
}
}

事件监听器.