質問: 計算式を解析して計算を行うものをJavaのみで作ってみようと思 い、方法を考えた結果まず計算式をトークンに分割することにしまし た。 そこで、トークンのパターンはどこかに正規表現で定義しておき、 "例えば数字に当てはまったらNumberTokenオブジェクトを生成す る" ということをやろうと思いました。 ですが、トークンのパターンごとにif文を書いてクラス違いの中身を 書くのは無駄に感じ、 "◯◯のパターンにマッチしたら◯◯Tokenオブジェクトを生成する" そもそもということを定義できれば、簡略化できるのではないか? と考えました。 その方法は存在しますでしょうか? それともトークンのパターンごとにif文を作るしかないのでしょう か? public static ArrayList splitToken(String expr){ ArrayList tokenList=new ArrayList<>(); //先頭がどれに当てはまるかチェックして //どれかに当てはまったらそれに対応するTokenオブジェクト //(NumberToken,PlusToken,etc...)を作ってもらって //マッチした部分は消す //これをexprがなくなるまで繰り返す return tokenList; }
回答: Map