我的程序应该能够在给定文件的情况下执行java代码。但是,当我尝试使用包含扫描仪的测试类进行测试时,扫描仪不会接受任何输入。现在它只打印,"你的名字是什么?"。 有什么问题?
以下是执行方法:
public void execute()
{
String fileName = file.substring(0, file.indexOf('.'));
String[] args = null;
Class c;
Object o;
Method main;
try
{
c = Class.forName(fileName);
o = c.newInstance();
main = c.getDeclaredMethod("main", String[].class);
Thread t = new Thread(new Runnable()
{
public void run()
{
try
{
main.invoke(o, (Object)args);
}
catch(Exception e){}
}
}
);
t.start();
}
catch(Exception e){e.printStackTrace(System.out);}
}
以下是测试类的代码:
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.println("What is your name?");
String name = s.nextLine();
System.out.println("Your name is " + name);
System.out.println("testing");
}
}