上计算机实验的老师和我们原来的JAVA老师不是一个人,给出的实验题答案很多都不明白,也没学过相应代码,请各位指点。
public class FibonacciTest
{
public static void main(String[] args)
{
int n = 0;
try
{
n = Integer.parseInt(args[0]);
}
catch (Exception e) {
System.err.println("ERROR, ENTER THE VALUE OF N");
System.exit(1);
}
FibonacciIterative fi = new FibonacciIterative();
FibonacciRecursive fr = new FibonacciRecursive();
FibonacciDynamic fd = new FibonacciDynamic();
long start = System.currentTimeMillis();
System.out.println(fi.fibonacci(n));
long end = System.currentTimeMillis();
long total = end - start;
System.out.println("Time taken F-I = "+ total);
start = System.currentTimeMillis();
System.out.println(fr.fibonacci(n));
end = System.currentTimeMillis();
total = end - start;
System.out.println("Time taken F-R = "+ total);
start = System.currentTimeMillis();
System.out.println(fd.fibonacci(n));
end = System.currentTimeMillis();
total = end - start;
System.out.println("Time taken F-D = "+ total);
}
}
public class FibonacciTest
{
public static void main(String[] args)
{
int n = 0;
try
{
n = Integer.parseInt(args[0]);
}
catch (Exception e) {
System.err.println("ERROR, ENTER THE VALUE OF N");
System.exit(1);
}
FibonacciIterative fi = new FibonacciIterative();
FibonacciRecursive fr = new FibonacciRecursive();
FibonacciDynamic fd = new FibonacciDynamic();
long start = System.currentTimeMillis();
System.out.println(fi.fibonacci(n));
long end = System.currentTimeMillis();
long total = end - start;
System.out.println("Time taken F-I = "+ total);
start = System.currentTimeMillis();
System.out.println(fr.fibonacci(n));
end = System.currentTimeMillis();
total = end - start;
System.out.println("Time taken F-R = "+ total);
start = System.currentTimeMillis();
System.out.println(fd.fibonacci(n));
end = System.currentTimeMillis();
total = end - start;
System.out.println("Time taken F-D = "+ total);
}
}
public class FibonacciTest
{
//程序运行开始点
public static void main(String[] args)
{
int n = 0;
try
{
//读取命令行第一个参数,并赋值给N,如果不是整数,捕获异常,程序退出
n = Integer.parseInt(args[0]);
}
catch (Exception e) {
System.err.println("ERROR, ENTER THE VALUE OF N");
System.exit(1);
}
//创建一个FibonacciIterative 对象
FibonacciIterative fi = new FibonacciIterative();
//创建一个FibonacciRecursive对象
FibonacciRecursive fr = new FibonacciRecursive();
//创建一个FibonacciDynamic对象
FibonacciDynamic fd = new FibonacciDynamic();
//获取开始时间
long start = System.currentTimeMillis();
//计算fibonacci
System.out.println(fi.fibonacci(n));
//获取结束时间
long end = System.currentTimeMillis();
//计算调用fibonacci(n)的时间
long total = end - start;
System.out.println("Time taken F-I = "+ total);
start = System.currentTimeMillis();
System.out.println(fr.fibonacci(n));
end = System.currentTimeMillis();
total = end - start;
System.out.println("Time taken F-R = "+ total);
start = System.currentTimeMillis();
System.out.println(fd.fibonacci(n));
end = System.currentTimeMillis();
total = end - start;
System.out.println("Time taken F-D = "+ total);
}
}
代码整体上来说是一个带参数的命令行Java程序,
将参数转为int n型后,计算对应斐波那契数列的第n个数值,并输出计算耗时多少毫秒
中间那三个new的对象应该是其他地方写的吧,JDK里边好像没有,我的1.5的没有