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的评论结合起来了。