匹配一个
15+45/58*52 这样的字符, 1.必须以数字开头,开始和结尾不能出现 + - * /
2.数字与数字之间需要有运算符号, 
3.运算符号不能连续出现,但是可以使用 -(+5)

解决方案 »

  1.   

    通过输入一个运算字符串, 计算出这个字符串的结果
    args='(25+89/25*45)-20'
    计算出这个结果来.
      

  2.   

    来看看这个!http://topic.csdn.net/u/20100722/20/da963318-f18c-4923-bb22-5aecd92ac573.html
      

  3.   

    运算可以使用ScriptEngine这个类
      

  4.   

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Scanner;import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;public class EvalExpression
    {
    public static void main(String[] args)
    {
    try
    {
    BufferedReader  b  = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("please input your expression:");
    String exp = b.readLine();
    ScriptEngineManager factory = new ScriptEngineManager();
    ScriptEngine eng = factory.getEngineByName("javascript");
    System.out.println(eng.eval("eval(" + exp + ")")); 
    } catch (Exception ex)
    {
    ex.printStackTrace();
    }
    }}直接计算你的表达式值