这种情况Test类中的main 方法如何通过反射调用Main中的main 方法,不在控制台输入。
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(n);
}
}
public class Test {
public static void main(String[] args) throws Exception {
Class clazz = Main.class;
Method method = clazz.getDeclaredMethod("main", String[].class);
method.invoke(null, (Object)(new String[]{"1"}));
}
}
调用之前把 System.in 换成自己控制的就行了