Java 数学解析器-令牌结构
我目前正在实现我自己的数学解析器——我有一些关于如何继续的问题 到目前为止,我的解析器正在将输入字符串转换为令牌:Java 数学解析器-令牌结构,java,parsing,math,Java,Parsing,Math,我目前正在实现我自己的数学解析器——我有一些关于如何继续的问题 到目前为止,我的解析器正在将输入字符串转换为令牌: public class Token { final public String expression; final public int value; public Token(String expression, int value) { this.expression = expression; t
public class Token
{
final public String expression;
final public int value;
public Token(String expression, int value)
{
this.expression = expression;
this.value = value;
}
}
每个字符串(表达式)都是一个有效的条目号、运算符或函数。整数类型被传递到枚举中以标识令牌
当输入字符串被分成标记时,表达式将使用算法进行解析
我的问题是:我希望令牌创建其类型的对象。一种方法可能是:
public abstract class MathCommand
{
final static Hashtable<Character, Operator> operatorTable = new Hashtable<Character, Operator>()
{{
put('+', new Addition());
put('-', new Subtraction());
put('/', new Division());
put('*', new Multiplication());
}};
public abstract Object getMathCommand();
}
函数具有以下方法:
getValue(String number1, String number2);
getValue(String number);
我能否以某种方式实现一个接口并将getValue方法重写为上述方法之一?它们可以有一个公共接口:
interface Callable {
int getNumberOfArguments();
String getValue(String[] args);
}
是运算符,加法,。。。你自己的课?你只是想实现一个接口?对不起,它们是我自己的类。操作符是加法、减法等的超类。我会在帖子中编辑它。你考虑过使用它吗?谢谢你-我把它和@kaykay的评论结合起来了。