4

file.list() を使用して src フォルダー内のすべてのファイルを取得するとします。1 つのファイル名が Problem0001.java であるとします。文字列「Problem0001.java」のみを使用して、Problem0001.java クラスのメソッドを呼び出すことはできますか?

より深い説明: 私はプロジェクト Euler の問題に取り組んでいます。Project Euler は、数学とプログラミングの知識を必要とする一連の問題です。それぞれの問題を解決して、それが独自のクラスであることを望みます。問題番号を入力すると、画面に答えが表示されるメニューを作成できれば素晴らしいと思いました。私は、問題の解決策を持つクラスを呼び出す switch ステートメントから始めました。最終的には、新しい問題を解決するたびに switch ステートメントに追加することに飽き飽きするだろうと考えました。コンピューターにすべての解クラス ファイルを見つけて、解の番号をリストに追加してもらいたい (いくつかの問題をスキップする可能性があるため)。メニュー画面に入るたびに、リストが印刷されます。見たい解の番号を打ち込むのですが、ここが迷子になっています。どういうわけかその番号を取得して、同じ番号でクラスの静的メソッドを呼び出す必要があります。したがって、3 と入力すると、classfile Problem0003.java がアクティブになりますが、コンパイラは動作します。

4

2 に答える 2

3

はい、できます。Java Reflection APIを使用します。

実行時にメソッドを呼び出す方法のを見てください。

于 2013-03-12T06:28:25.430 に答える