interface Common
{
float Get_The_time(float A,float B,float C);
}
class Car implements Common
{
public float Get_The_time(float A,float B,float C)
{
float speed=(A*B)/C;
return 1000/speed;
}
}
class Plane implements Common
{
public float Get_The_time(float A,float B,float C)
{
return 1000/(A+B+C);
}
}
public class Compute_Time {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException
{
System.out.println("Please input the parameter:");
@SuppressWarnings("resource")
Scanner temp=new Scanner(System.in);
String name=temp.next();
float A=temp.nextFloat();
float B=temp.nextFloat();
float C=temp.nextFloat();
Class<?> d=Class.forName("Car");
Object e=d.newInstance();
Method[] m=d.getMethods();
float time=(float) m[0].invoke(e,A,B,C);
System.out.println(time);
}
}
执行时抛出 Car ClassNotFoundException,的异常
------解决思路----------------------
你的类有package路径吗,将package路径都加上,再试试看,应该不会有问题的
public class demo_5 {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Class glass = Class.forName("com.zhangqi.you.test.FilterByName");
Object obj = glass.newInstance();
System.out.println(obj);
}
}
class FilterByName implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".pdf");
}
}
输出
com.zhangqi.you.test.FilterByName@24ee5d13
------解决思路----------------------
package路径的问题吧,代码我在jdk1.6 下 float time=(Float) m[0].invoke(e,A,B,C); 修改后是可以运行的
jdk 1.8 我也是测试了。程序没有问题