0
私はオンラインコンパイラウェブサイトを構築しています。 ファイル名とクラス名を知っているローカルシステムでプログラムを実行する。
例:MyProgram.javaオンラインJavaコンパイラはどのように機能しますか?
class MyProgram{
public static void main(String[] args){
System.out.println("Myprogram in local");//
}
}
$ javac MyProgram.java
$ java MyProgram
が、オンラインコンパイラのユーザーに任意のクラス名を持つことができます
例:MyProgram.java //これはどのような管理
class UserProgram{
public static void main(String[] args){
System.out.println("users program");
}
}
$ javac MyProgram.java
$ java somethingthatidontknow //how do i get "users program" outpout ?
コードをコンパイルするだけですか、それとも実行しますか?コンパイラはメインクラスを気にしません。 (コンパイラは、信頼できないコードを実行するものよりもホストにとってはるかに安全です。適切なサンドボックスがあることを確認してください) – Thilo
私はコンパイルしてユーザのコードを実行しますが、これがどのように動作するかはわかりません。 – JAGGADAKU
リフレクションを使用できますコンパイルされたコードで、またはjavaファイルを解析します。ソースファイル名は、クラスと同じ名前を持つ必要はありません。 – thst