割り当てのために、ADD、SUB、LOAD、STORE、JUMPなどの簡単な機能で動作できる基本的なプロセッサを作成する必要があります
入力として、テキストファイルを使用し、20の異なるコマンドを解析して、それらを実行する必要があります。
私の質問は、文字列を最適に解析し、対応するコマンドと照合してから実行する方法です。
たとえば、ファイルを1行ずつ解析し、文字列をトークン化し、すべてのコマンドを含む大規模なif-elseステートメントを介してトークンを送信し、各コマンドのクラスを作成してコマンドを呼び出し(事前に)、そのクラスを実行できます。 。
しかし、これが最善の方法だとは思いません。より良い方法はありますか、または私の例で何かを改善できますか?
コマンドをインターフェイスとして使用し、にマップしString
ます。
interface Command{
void execute();
}
Map<String, Command> map = new HashMap<>();
次に、それに応じてコマンドのすべての実装をマップします。
map.put("ADD", () -> System.out.println("Calling Add"));
次に、行をトークン化したら、マップを検索してコマンドを実行し、コマンドが存在するかどうかを確認することを忘れないでください。
for (String token : tokens){
map.getOrDefault(token, () -> System.out.println("Command " + token + " not found")).execute();
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加