用于1.2的Java方程解析
出于实现特定的原因,我必须使用Java1.2。我试图解析一个用于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分
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版本之前的替代方案。