用于1.2的Java方程解析

用于1.2的Java方程解析,java,parsing,equation-solving,Java,Parsing,Equation Solving,出于实现特定的原因,我必须使用Java1.2。我试图解析一个String对象,该对象只有数字(我事先替换变量以抽象该步骤)和运算符(pedma)。我发现很多库都能很好地做到这一点,但不幸的是,没有与Java1.2兼容的库(即使是fiddling,它们都依赖于泛型之类的东西)。显然,我有能力自己制作这个,但我当然不想重做轮子。有没有我还没有找到的图书馆可以帮我做到这一点?谢谢 (要求:二进制运算符和括号) 编辑:根据要求,输入和输出的一些示例: “(10/5)+4.5-(8)”会给你-1.5分

出于实现特定的原因,我必须使用Java1.2。我试图解析一个
String
对象,该对象只有数字(我事先替换变量以抽象该步骤)和运算符(pedma)。我发现很多库都能很好地做到这一点,但不幸的是,没有与Java1.2兼容的库(即使是fiddling,它们都依赖于泛型之类的东西)。显然,我有能力自己制作这个,但我当然不想重做轮子。有没有我还没有找到的图书馆可以帮我做到这一点?谢谢

(要求:二进制运算符和括号)

编辑:根据要求,输入和输出的一些示例:

  • “(10/5)+4.5-(8)”会给你-1.5分
  • “(1/3)*4”会给你1.3333
  • “5^3+4*2”会给你133
  • “-10+5”会给你-5

希望这是有意义的。

你可以自己写。此Java使用1.0版开始提供的
StreamTokenizer
,但是您必须用
int
常量替换
enum
标记,忽略
tokenIs(Symbol.WORD)
替换函数标识符。

您能提供更多关于您尝试执行的操作的信息吗?给出一些输入和预期输出的示例。用一些示例进行编辑。我遇到的小问题。。。它使用方法
Enum.valueOf(class,String)
,由于
函数
不再是枚举,因此无法使用。(函数不扩展第276行中的枚举)。此外,我似乎无法访问枚举类(Java ME)。有没有办法在不使用Enum的情况下复制此方法的函数?除非您需要函数,否则只需在
factor()
中消除处理
Symbol.WORD
。如果是这样,我认为ApacheCommons有一个1.5版本之前的替代方案。