0

重複の可能性:
文字列をコードに変換する

文字列をコードとして実行できるようにする必要があるプログラムがあります。たとえば、次のような文字列があります。

public void do(int a, int b){
a++;
b--;
System.out.println(a);
System.out.println(b);
}

では、プログラムにその文字列を実行させるにはどうすればよいでしょうか。

4

5 に答える 5

1

この文字列をクラスでラップし、Java Compiler APIでコンパイルできます。JRE の代わりに JDK を実行する必要があります。

于 2012-10-04T03:52:57.643 に答える
0

テキストを受け取り、動的にコンパイルして実行するKoalaDynamicJavaをてください。

于 2012-10-04T04:12:59.280 に答える
0

完全にはわかりませんが (使用してから長い時間が経ちました)、BeanShellを使用して String である Java コードを実行できる可能性があります。いくつかの例については、ドキュメントをご覧ください。

于 2012-10-04T03:57:05.533 に答える
0

この同様の質問を参照してください

この単純な答えは、これは実際には Java では実行できないということです。javac コンパイラーを呼び出そうとすることで、ハックな方法を思いつくことができますが、その時点で実際にどのようにロードしたり、使用したりするかはわかりません。

Javascript や Lua などの一部のスクリプト言語では、文字列を読み込んで実行しようとする「eval」タイプの関数を使用できます。

于 2012-10-04T03:49:05.943 に答える
0

問題は、このプログラムをどのように実行するかだと思いますか? 答えは、コンパイル後にJavaコマンドラインツールが実行できるように、「静的メイン」関数とともにクラス定義にラップする必要があるということです。

于 2012-10-04T04:04:24.950 に答える