有这样一个表达式,例如:5=2+3
我做了一个解析器,能解析2+3这个表达式并得出结果。现在我想判断5=2+3这个表达式是否正确,应当如何做(主要就是如何以“=”为分隔符,把式子的两边分开做)。
请赐教

解决方案 »

  1.   

    have a try
    String s = "5=2+3";
    String v[] = s.split("=");
      

  2.   

    其实都是用字符串类string处理较多。
    试用string类的各方法处理。
      

  3.   

    String类的split方法不能满足楼主的要求?
      

  4.   

    同意楼上的  建议楼主用String类的split方法应该可以的
      

  5.   

    回楼上的各位,目前来说只是简单的加法运算,我现在的目的就是想把“a=b+c”解析成“b+c”
    然后结果与a做比较,正确则检查下一条,错误则报出异常
      

  6.   

    方法很多啊,String的split可以,推荐StringTokenizer
      

  7.   

    可惜java不支持javascript的eval函数(把字符串解释为语句)
      

  8.   

    回楼上的各位,目前来说只是简单的加法运算,我现在的目的就是想把“a=b+c”解析成“b+c”
    然后结果与a做比较,正确则检查下一条,错误则报出异常
    ------------------------
    String s = "c=a+b";
    String v[] = s.split("=");
    Double c = new Double(v[0].trim()); //得到c
    String v2[] = v[2].split("+");
    Double a = new Double(v2[0]);       //得到a
    double b = new Double(v2[2]);   //得到b
    System.out.println(c == (a+b));     
      

  9.   


    equals 方法比较字符串相加值!
      

  10.   

    如果只是加减直接split,如果复杂的还是要用编译原理的知识
      

  11.   

    参考一下:
    http://www.cn-java.com/target/news.php?news_id=3174
    一个表达式计算案例的设计和实现