私はプログラムを作成しました。使用するメソッドを要求する必要があります(私はjava.lang.StringBuffer.appendを使用します)。これは3の場合です。ユーザーはすべての文字列を必要とするだけ多くの引数を入力することができ、プログラムは文字列を追加して出力します。しかし、何か間違っていると私はエラーを見つけることはありません。メソッドを追加して使用するJavaリフレクションを追加して使用する
import java.lang.reflect.*;
import tio.*;
public class MethodExecutor {
public static void main(String [] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException
{
String input = "";
String input1 = "";
String input2 = "";
String argumenten[];
int aantal = 0;
System.out.println("What method to invoke?");
input = Console.in.readLine();
input1 = input.substring(0,input.lastIndexOf("."));
input2 = input.substring(input.lastIndexOf(".")+1,input.length());
System.out.println(input2);
Class<?> c = Class.forName(input1);
Method m = c.getMethod(input2, null);
Class<?>[] parameterTypes = m.getParameterTypes();
System.out.println("Needs max " + parameterTypes.length + " parameters.");
System.out.println("How many will you provide?");
aantal = Console.in.readInt();
argumenten = new String[aantal];
for(int i = 0; i < argumenten.length; i++)
argumenten[i] = Console.in.readLine();
System.out.println("Success");
}
}
Tioは、コンソール入力を取得するための単なるlibです。
誰かが助けてくれますか?
敬具、
何が間違っていますか、何が何振るか、何を期待していますか? – pgras
.appendに必要な最大限のパラメータを表示できません。だから私はまた、ユーザーによって与えられたパラメータで関数を実行することはできません。私は.getmethodが私に正しい関数を与えないと思う。 – user1007522